FreeKB - Resolve "Message part was not recognized" in the API Gateway
Resolve "Message part was not recognized" in the API Gateway

Home > Search


This event will appear in the response tab of the API Gateway audit log or in the application log on the application server (JBoss, Mule, Tomcat, WebSphere).

Message part {http://www.example.com/application/example}myOperation was not recognized.  (Does it exist in service WSDL?)

 

This error will identify the endpoint and operation that has a message part that is not being recognized. In this example, the endpoint is /application/example, and the operation is myOperation. Right-click on the service, select Service Properties, select the WSDL tab, select Reset WSDL, copy the WSDL URL, and select Cancel twice. Paste the WSDL URL into a web browser, and then use Ctrl + F and search for the operation that is not recognized. The message part will look something like this:

<message name="myOperationInput">
  <part element="tns:myOperationRequest" name="myOperationRequest"/>
</message>

 

Is the operation in the WSDL?

If the operation is not in the WSDL, the WSDL that contains the operation will need to be deployed to the API Gateway.

 

Is the operation properly formatted?

If the message part is in the WSDL but is malformed (eg. there is a grammatical error or a space or some sort of typographical error), have the developer correct the WSDL and then deploy the corrected WSDL to the API Gateway.

 

Does the app contain the operation?

If the message part is in the WSDL and is properly formatted, check to see if the operation exists in the application. For example, let’s say the application is located at /opt/Tomcat/profile/apps. The following command will determine if there are any occurrences of “myOperation” in any of the apps in the Tomcat JVM.

grep -R /opt/Tomcat/profile/apps -ie 'myOperation'

If the grep search does not return any results, this may imply that the app deployed to the JVM does not contain the markup needed for the operation being requested. If the grep search does not return any results, let the application developer know that no results were returned, to determine if this is suggestive of some issue with the application that is deployed to the JVM.



Add a Comment




We will never share your name or email with anyone. Enter your email if you would like to be notified when we respond to your comment.




Please enter in the box below so that we can be sure you are a human.




Comments