Forum Stats

  • 3,827,861 Users
  • 2,260,833 Discussions
  • 7,897,399 Comments

Discussions

OdiInvokeWebService utility unable to invoke .net based web service

Divyakant D Narkhede
Divyakant D Narkhede Member Posts: 5
edited Aug 29, 2013 6:36AM in Data Integrator
Hi,

I am trying to use OdiInvokeWebService utility provided by ODI11g to invoke .net based webservice.

The web service is written using C#.

I am able to connect to wsdl of C# webservice, however I am unable to invoke the C# web service.

I am receiving below given error:

com.sunopsis.wsinvocation.SnpsWSInvocationException: javax.xml.ws.soap.SOAPFaultException: The message with Action 'http://tempuri.org/TestPOF' 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).
at oracle.odi.wsinvocation.client.impl.jaxws.OdiJaxwsClientImpl.requestReply(OdiJaxwsClientImpl.java:73)
at oracle.odi.wsinvocation.client.impl.jaxws.OdiJaxwsOracleClientImpl.requestReply(OdiJaxwsOracleClientImpl.java:44)
at com.sunopsis.graphical.wsclient.RequestWsPane$11$1.doInBackground(RequestWsPane.java:1257)
at com.sunopsis.graphical.tools.utils.swingworker.SwingWorker$1.call(SwingWorker.java:240)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at com.sunopsis.graphical.tools.utils.swingworker.SwingWorker.run(SwingWorker.java:278)
at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:655)
at java.lang.Thread.run(Thread.java:662)
Caused by: javax.xml.ws.soap.SOAPFaultException: The message with Action 'http://tempuri.org/TestPOF' 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).
at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:111)
at com.sun.xml.internal.ws.client.dispatch.DispatchImpl.doInvoke(DispatchImpl.java:176)
at com.sun.xml.internal.ws.client.dispatch.DispatchImpl.invoke(DispatchImpl.java:195)
at oracle.odi.wsinvocation.client.impl.jaxws.OdiJaxwsClientImpl.requestReply(OdiJaxwsClientImpl.java:66)



Is there any way of invoking C# web service (.net based web service) through OdiInvokeWebService utility?

Answers

  • mRainey
    mRainey Member Posts: 386 Bronze Badge
    I have been able to invoke a .NET web service. Below is an example of calling the OdiInvokeWebService via a procedure. This service requires user authentication, so the username and encrypted password are sent with the request.

    OdiInvokeWebService "-URL=https://website.com/webservice.asmx?wsdl" "-PORT_TYPE=WsWebService" "-OPERATION=GetData" "-RESPONSE_MODE=NEW_FILE" "-RESPONSE_FILE_CHARSET=UTF8" "-RESPONSE_XML_ENCODING=UTF-8" "-RESPONSE_FILE=G:/FILES/XML/webservice.xml" "-RESPONSE_FILE_FORMAT=SOAP" "-HTTP_USER=USERNAME" "-HTTP_PASS=encrypted_password"
    <?xml version = '1.0' encoding = 'UTF8'?>
    <GetData xmlns="https://website.com/webservice/" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <strID>12345</strID>
    <iri_item_id/>
    </GetData>


    Hopefully this gets you moving in the right direction.

    Enjoy!
    Michael R.
  • Hi Michael,

    Thanks for your inputs.

    I have one more question how is calling OdiInvokeWebService from procedure different than directly executing it.

    My doubt is are we providing some additional parameters in this procedural request.

    The error I have posted is by using executing OdiInvokeWebService tool directly thorugh an ODI package.

    And it is giving error that I have posted in my earlier entry. Request you to guide me in my situation. I am able to connect to .net web service but failing to invoke it.

    Also if possible can you share with me, the .net framework version that you are using?
  • mRainey
    mRainey Member Posts: 386 Bronze Badge
    I'm not sure of the .NET framework used as I didn't develop the web service.

    To my knowledge, calling the web service from the procedure is the same as using the OdiInvokeWebService step in a Package. I just have other commands that execute and the Procedure was the best implementation.

    What does your request XML look like? Maybe something is missing - or maybe a tag exists that causes the issue.

    Enjoy!
    Michael R.
  • Hi Michael,

    My Request is as below:

    <?xml version = '1.0' encoding = 'UTF8'?>
    <TestPOF xmlns="http://tempuri.org/" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"/>


    Also I need to know whether the web service you called was a .net framework web service or not because as per my discussion with Oracle Support Team ODI 11g doesnot support .net web service call from OdiInvokeWebService utility they have raised a bug on my query to be resolved in next release. However I have doubt, I guess .net framework 4 may allow web service invoke from ODI.
  • mRainey
    mRainey Member Posts: 386 Bronze Badge
    Unfortunately, I don't have much more experience with this subject. I'm not sure of the .Net Framework version, but would guess 3.5 based on when the service was developed. In a quick search, it looks like the issue may be with the setup of the server hosting the web service. Sorry I cannot be of more help in this subject.

    http://stackoverflow.com/questions/6831111/wcf-routing-service-error-contractfilter-mismatch-at-the-endpointdispatcher
    http://stackoverflow.com/questions/5487791/wcf-contractfilter-mismatch-at-the-endpointdispatcher-exception

    Enjoy!
    Michael R.
  • user9210815
    user9210815 Member Posts: 23
    Hi Divyakant,

    Were you able to resolve this issue. I ma struggling with the same error while invoking a web service coded in Microsoft technology.

    Thank you
    Surya
  • user9210815
    user9210815 Member Posts: 23

    This is a bug in ODI and has been fixed. We can request for the patch of required. We have applied the patch and its working.

  • Hi Surya,

    Request you to provide me with more details regarding the patch (patch number or link to download patch etc.)

    Thanks,

    Divyakant

  • user9210815
    user9210815 Member Posts: 23

    Hi Divyakant,

    The patch number: 13092238


    Regards

    Surya

This discussion has been closed.