on 07-23-2014 9:55 AM
Hi Experts,
We are doing an OData modeling for a given SOAP Web service. To access one of the method, we have to pass below input parameters and have to get desired output parameters.
Input parameters | Username (string) |
Password (base64Binary) | |
Output parameters | Security Key (string) |
Success (boolean) | |
Information (string) |
We have done OData modeling as below:
Request mapping:
Response Mapping:
We are able to open service document, service metadata document without any issues. But when we pass input parameter to the service document as per below URI:
http://localhost:8080/gateway/odata/sap/ICRA:v=1/LoginSet(UserName='DemoUser',Password='abcedf')
We are getting a parsing exception:
While executing the service we traced the request using Wireshark.
The request while executing the EntitySet for the OData service is as follows
In the response we got an "Internal Server Error(500)". From Wireshark we got the following description for the error.
"The message with Action '' cannot be processed at the receiver, due to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver. Check that sender and receiver have the same contract and the same binding (including security requirements, e.g. Message, Transport, None)."
When we tried the same method of the WSDL through SOAPUI and tracing the same in Wireshark , we found that value is getting passed in the SOAP Action
Has anybody encountered this issue before? What you have to say on that PARSING Exception?
Rgrds,
JK
Hi,
I got this error earlier and this is actually a bug in the product for soap web services.
This can be solved with a work around
See the below steps.
1. Once you are done with your project, Select Generate and Deploy and deploy the project to the SMP Server.
2. After that go to your project workspace and the project and under target folder there will a .zip file.
3. Unzip that file and then you will see an iflw file under the src\main\resources\scenarioflows\integrationflow\yourprojectname.iflw. Open this with notepad
4. Add the following property entry (make sure you use the proper wsdl file name), under <bpmn2:messageFlow id="_MessageFlow_8" name="ModeldefaultyourentitysetSOAPRECEIVERGET_ENTRYCHANNEL” (make sure to locate “…_ENTRYCHANNEL”) as the last property in the list
<ifl:property>
<key>soapWsdlURL</key>
<value>/wsdl/<name of your wsdl file>.wsdl</value>
</ifl:property>
<ifl:property>
<key>soapServiceName</key>
<value>p2:yourservicename</value>
</ifl:property>
<ifl:property>
<key>soapWsdlPortName</key>
<value>p2:yourportname</value>
</ifl:property>
Modify <value>xmlns:http=//tempuri.org/</value> , under <bpmn2:collaboration id="Collaboration_1" name=“Default Collaboration"><bpmn2:extensionElements> to <value>xmlns:p2=http://tempuri.org/</value>
5. Save the file and then .zip the entire folder once again (What i generally do is under target folder i create a new folder by any name and then in the extracted .zip folder select the two sub folder and right click and say add to archive. It will create a .zip file. Copy this .zip file into the new folder that you created and then delete the extracted folder).
6. Go to eclipse and refresh your project. You will see your new .zip file under the new folder under target. Right click on the already generated .zip folder and click on delete. and then from your new folder drag drop the .zip file to fall directly under the target folder. Do all this in eclipse.
7. Once this is done, right click on your .zip file and say Deploy integration content.
8. Once this is done , go to the cockpit and run the url. It should work without errors.
Hope this helps,
Best Regards,
Rakshit Doshi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Jitendra,
- I meet this error in first step when i use QUERY. I follow Rakshit method, but i cannot find ENTRYCHANNEL in iflw file. How can i fix it??
- When i use READ in step Select SOAP Datasource. I can see the ENTRYCHANNEL, and i follow step by step of Rakshit method. But, when i test in smp, i have new error : Requested entity could not be found. I checked my webservice, and the method i use have no trouble.
This is SMP server
This is my WebService when i call method.
Regards,
Sao Vu
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Above issue "Parsing Exception" has been resolved in latest release of SMP 3.0 SP04 PL01
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
76 | |
9 | |
8 | |
7 | |
6 | |
5 | |
5 | |
5 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.