Invoking a web service with multi document WSDL

Hi,
I'm trying to call a web service from BPEL using the partner link button. The WSDL I have is in two parts, the first document includes the endpoint and a wsdl:import statement which points to the second document containing types and definitions. I can create a client to the service using JDeveloper but BPEL doesn't seem to register the WSDL as valid.
I have included the wsdls below for information. I would appreciate any help or suggestions.
Thanks in advance
John
Document One:
<?xml version="1.0" encoding="utf-8"?>
<!-- Generated by WSDLDefinitionsParser --><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" name="RADCalcWSWsd" targetNamespace="urn:RADCalcWSWsd" xmlns:bns0="urn:RADCalcWSWsd/Config1/rpc" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<wsdl:documentation>RAD Calculator Service description.</wsdl:documentation>
<wsdl:import location="./bindings/Config1_rpc.wsdl" namespace="urn:RADCalcWSWsd/Config1/rpc"/>
<wsdl:service name="RADCalcWS">
<wsdl:port name="Config1Port_Rpc" binding="bns0:Config1Binding">
<soap:address location="http://ermprot1:50000/RADCalcWS/Config1?style=rpc"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Document Two
<?xml version="1.0" encoding="utf-8"?>
<!-- Generated by WSDLDefinitionsParser --><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:RADCalcWSWsd/Config1/rpc" xmlns:prt0="urn:RADCalcWSWsd/RADCalcWSVi/rpc" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<wsdl:import location="../porttypes/Config1_RADCalcWSVi_rpc.wsdl" namespace="urn:RADCalcWSWsd/RADCalcWSVi/rpc"/>
<wsdl:binding name="Config1Binding" type="prt0:RADCalcWSVi_Rpc">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
<wsdl:operation name="add">
<soap:operation soapAction=""/>
<wsdl:input>
<soap:body use="literal" namespace="urn:RADCalcWSVi" parts="f1 f2 "/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal" namespace="urn:RADCalcWSVi"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="divide">
<soap:operation soapAction=""/>
<wsdl:input>
<soap:body use="literal" namespace="urn:RADCalcWSVi" parts="f1 f2 "/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal" namespace="urn:RADCalcWSVi"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getDateTime">
<soap:operation soapAction=""/>
<wsdl:input>
<soap:body use="literal" namespace="urn:RADCalcWSVi"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal" namespace="urn:RADCalcWSVi"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="multiply">
<soap:operation soapAction=""/>
<wsdl:input>
<soap:body use="literal" namespace="urn:RADCalcWSVi" parts="f1 f2 "/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal" namespace="urn:RADCalcWSVi"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="subtract">
<soap:operation soapAction=""/>
<wsdl:input>
<soap:body use="literal" namespace="urn:RADCalcWSVi" parts="f1 f2 "/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal" namespace="urn:RADCalcWSVi"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="test">
<soap:operation soapAction=""/>
<wsdl:input>
<soap:body use="literal" namespace="urn:RADCalcWSVi"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal" namespace="urn:RADCalcWSVi"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
</wsdl:definitions>

I've noticed that JDeveloper [edit:]doesn't[:edit] recursively look for schema type infomation and things in sub wsdl files, could you have a similar issue? (BPEL engine don't have an issue though)
BTW, your second wsdl file imports a third wsdl file -> I presume this defines the portType?
Message was edited by:
taylor_tails

Similar Messages

  • Invoking a web service with the WSDL URL given at run time

    I have created a very Simple Web Service using Netbeans 6.0 as an EJB Module. I have successfully created clients to access the web service, both through a Composite Application and through a simple Java Desktop Application, using the create "New Web Service Client" option, either by pointing to the EJB project either by providing the WSDL URL.
    What I want now, is for the Java Desktop application to be able to consume the service after it has discovered the WSDL URL at runtime (e.g. through UDDI).
    From what I have been able to find on the web, I should use the javax.xml.ws.Service class. But when I attempt to use the getPort method I get the exception:
    "com.sun.xml.ws.model.RuntimeModelerException: runtime modeler error: Wrapper class mypackagename.jaxws.MyWebServiceName is not found. Have you run APT to generate them?"
    Since I know that this class is not needed for the Web Service to be accessed, when the two procedures I describe above are used, I wonder what I can do to get this to work.
    I have tried using apt from the command line but it can't find Java EE classes, so it doesn't work.
    Nikos

    Hi Yarecki,
    I'm afraid I'm also a newbie, and I'm feeling my way around things.
    I have written some code. However, you should be warned that... it doesn't work!
            String wsdlLocation;//=...some URL...
            String input;//=...XML...either SOAP message either SOAP payload
         try{
             java.net.URL wsdlURL = new java.net.URL(wsdlLocation);
                //these should be extracted from the service WSDL document
                java.lang.String serviceName = "CalculationServiceService";
                java.lang.String portName = "CalculationServicePort";
                String namespace = "http://localhost:8080/CalculationServiceService";
                javax.xml.transform.Source inputSource = new javax.xml.transform.stream.StreamSource(new java.io.StringReader(input));
                javax.xml.namespace.QName serviceQName = new javax.xml.namespace.QName(namespace, serviceName);
                javax.xml.namespace.QName portQName = new javax.xml.namespace.QName(namespace, portName);
                javax.xml.ws.Service service = javax.xml.ws.Service.create(wsdlURL, serviceQName);           
                javax.xml.ws.Dispatch<javax.xml.transform.Source> dispatch =
                      service.createDispatch(portQName, javax.xml.transform.Source.class, javax.xml.ws.Service.Mode.MESSAGE);
           //javax.xml.ws.Dispatch<javax.xml.transform.Source> dispatch =
               //service.createDispatch(portQName, javax.xml.transform.Source.class, javax.xml.ws.Service.Mode.PAYLOAD);
    //alternative method, with different input
                javax.xml.transform.Source replySource = dispatch.invoke(inputSource);
                javax.xml.bind.JAXBContext jc = javax.xml.bind.JAXBContext.newInstance(nikos.test.CalculationResult.class);
                javax.xml.bind.Unmarshaller unm = jc.createUnmarshaller();
                nikos.test.CalculationResult result = (nikos.test.CalculationResult)unm.unmarshal(replySource);
                System.out.println(result.getResult());
            } catch (JAXBException ex) {
                JOptionPane.showMessageDialog(this, ex);
                ex.printStackTrace();
            } catch (MalformedURLException ex) {
                ex.printStackTrace();//this should not happen.
            }In fact I'm getting a weird error
    javax.xml.ws.soap.SOAPFaultException: java.lang.NullPointerException
            at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:187)
            at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:108)
            at com.sun.xml.ws.client.dispatch.DispatchImpl.doInvoke(DispatchImpl.java:187)
            at com.sun.xml.ws.client.dispatch.DispatchImpl.invoke(DispatchImpl.java:206)
         //lines from my source code are here
    Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
            at com.sun.enterprise.security.jmac.config.PipeHelper.makeFaultResponse(PipeHelper.java:328)
            at com.sun.enterprise.security.jmac.config.PipeHelper.getFaultResponse(PipeHelper.java:366)
            at com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:223)
            at com.sun.enterprise.webservice.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:129)
            at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
            at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
            at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
            at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
            at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
            at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243)
            at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:444)
            at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)
            at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135)
            at com.sun.enterprise.webservice.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:113)
            at com.sun.enterprise.webservice.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:87)
            at com.sun.enterprise.webservice.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:200)
            at com.sun.enterprise.webservice.EjbWebServiceServlet.service(EjbWebServiceServlet.java:129)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
            at com.sun.enterprise.web.AdHocContextValve.invoke(AdHocContextValve.java:114)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
            at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:87)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
            at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:270)
            at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
            at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
            at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
            at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
            at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:261)
            at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:212)
            at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
            at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
    Caused by: java.lang.NullPointerException
            at com.sun.xml.ws.tx.service.TxServerPipe.process(TxServerPipe.java:163)
            at com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:218)
            ... 39 moreAs I've said before I've called this web service successfully using three different methods.
    It appears it has something to do with security issues, but I've no security at all...

  • Anyone got sample C# / VB code for CRM OD web service with multi threading?

    Hi,
    I am writing a small utility app to help bulk delete data from custom objects in CRM OD via web services.
    However from what i can see you can only delete 20 records at a time it can take a long time to delete several thousands records by getting 20 results from a query, then deleting the records, then getting the next page of results and deleting them and so on.
    I thought that using multiple threads would help speed up the process but since I'm new to CRM OD web service development i thought if would see if anyone had any sample code they would like to share to help ease the transition?
    Any help would be appreciated.
    Thanks

    Not done this area myself - but I spotted some code that use these tables:
    CRMD_SRV_OSSET, CRMD_SRV_SUBJECT.
    So your selecting lines from OSSET that match the service ticket header guid
    SELECT * FROM   CRMD_SRV_OSSET
             WHERE  SUBJECT_PROFILE  = 'Subject Profile for classification'
             AND    GUID_SET  in
                            ( SELECT GUID_SET FROM CRMD_LINK
                                   WHERE  GUID_HI EQ header_GUID
                                  ) ... into a internal table
    The selecting more information from CRMD_SRV_SUBJECT that matches guids found on the OSSET table
    loop round internal table
    SELECT * FROM  CRMD_SRV_SUBJECT
           WHERE  GUID_REF    =  crmd_srv_osset-GUID
    endloop.
    On this table you have your code group and code that relate to a classification
    Hope this helps and give me some points if it does

  • Invoking Imaging Web Service from BPEL is failing

    Hi,
    My Env is on latest 11g 11.1.1.8.
    I am trying to invoke the Imaging Web Services (http://host:port/imaging/ws/ApplicationService?wsdl)deployed in another Weblogic Server from Bpel. When I tried to invoke this web service with out security credentials it was failing due to access issue.
    I tried invoking  the imaging web service by following below steps.
    Added oracle/wss_http_token_client_policy for Imaging Web service Reference.
    Added these properties in Composite for the reference binding as below.
    <wsp:PolicyReference URI="oracle/wss_http_token_client_policy"
                               orawsp:category="security" orawsp:status="enabled"/>
          <property name="weblogic.wsee.wsat.transaction.flowOption"
                    type="xs:string" many="false">SUPPORTS</property>
          <property name="weblogic.wsee.wsat.transaction.version" type="xs:string"
                    many="false">DEFAULT</property>
         <property name="oracle.webservices.auth.username" type="xs:string"
                    many="false" override="may">weblogicxz</property>
          <property name="oracle.webservices.auth.password" type="xs:string"
                    many="false" override="may">welcome111</property>
          <property name="httpBasicUsername">weblogicxz</property>
          <property name="httpBasicPassword">welcome111</property>
    But now While testing my Bpel Flow my reference is failing with below erro. Can you please help me resolving this issue. 
    <messages>
    <input>
    <Invoke1_getApplication_InputVariable>
    <part  name="parameters">
    <getApplication>
    <appNameId>
    <id>2</id>
    <name>CaptureImageApplication</name>
    </appNameId>
    <sectionFlags/>
    </getApplication>
    </part>
    </Invoke1_getApplication_InputVariable>
    </input>
    <fault>
    <bpelFault>
    <faultType>0</faultType>
    <remoteFault>
    <part  name="summary">
    <summary>MustUnderstand headers:[{http://schemas.xmlsoap.org/ws/2004/10/wscoor}CoordinationContext] are not understood</summary>  
    </part>
    <part  name="detail">
    <detail>oracle.j2ee.ws.client.jaxws.JRFSOAPFaultException: Client received SOAP Fault from server : MustUnderstand headers:[{http://schemas.xmlsoap.org/ws/2004/10/wscoor}CoordinationContext] are not understood</detail>  
    </part>
    <part  name="code">
    <code>{http://schemas.xmlsoap.org/soap/envelope/}MustUnderstand</code>  
    </part>
    </remoteFault>
    </bpelFault>

    Hi,
    I don't think it is failing due to access issue, I think it is failing because one of the parts is NOT configured to use WS-AT (WS-Atomic Transactions)...
    MustUnderstand headers:[{http://schemas.xmlsoap.org/ws/2004/10/wscoor}CoordinationContext] are not understood
    Why did you add this?
          <property name="weblogic.wsee.wsat.transaction.flowOption"
                    type="xs:string" many="false">SUPPORTS</property>
          <property name="weblogic.wsee.wsat.transaction.version" type="xs:string"
                    many="false">DEFAULT</property>
    Cheers,
    Vlad

  • Invoke a Web Service - 401 Error - Authentication?

    I've been through the Integrator's Guide for Oracle Business Intelligence Enterprise Edition, attempting to setup Action Framework so we can use OBIEE to push data to Sharepoint 2011.
    I came across the article below and found it to be helpful in getting past the first hurdle which was identifying why the actionframeworkconfig.xml file was not being read properly.
    ActionFrameworkConfig.xml structure changed from 11.1.1.5 to 11.1.1.6
    I am working in 11.1.1.6.
    The concern or question I have is I am attempting to access a WSDL from Sharepoint that does not allow annonymous access. I take the steps below and get the error 'HTTP connection error code is 401'.
    1) Choose under Create... 'Action' from within OBIEE 11g
    2) Pick 'Invoke a Web Service'
    3) In the WSDL URL field, populate it with the path for the Sharepoint WSDL.
    a. https://sharepointhost/_vti_bin/Lists.asmx?WSDL
    4) Choose 'Open'
    5) Receive error.
    So my question is, is there a way to control the authentication here?
    Thank you in advance.

    First you map your service .wsdl file in the external resources as a WebService.
    Create a module in your Catalog and right click >> Catalogue Component >> Web Service
    Then you call it like it was an object in your code...
    String result = MyService.returnMeAString();
    logMessage(result);

  • ABAP Web Service with tables

    Hello,
    <br>
    <br>
    We need to build a web service with a predefined message in our ERP (ABAP), without PI or WebAS JAVA.
    <br>
    <br>
    We thought it should be a simple task, because we had no problem with many other applications and systems when building the same service, but were not able to build it with SAP ABAP, probably as a consequence of our lack of knowledge on ABAP SOAP runtime.
    <br>
    <br>
    We have an external asynchronous process that delivers information to many other systems using web services (information diffusion). Concecuently, the web service call's structure is determined by the caller, so we have to fulfill this structure if we want to receive the info.
    <br>
    <br>
    The owner of the process defined a very simple service call, in which one kind of  "record" can be repeated 1 to n times:
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    &lt;reglasSuscripcion&gt;
    <br>
                &lt;!Zero or more repetitions:&gt;
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
    &lt;/reglasSuscripcion&gt;
    <br>
    <br>
    <br>
    In order to receive this info, we have to implement an abap web service handler to accept this kind of call, the same way other applications/systems have already done.
    <br>
    <br>
    We tried to build a RFC function call and create a web service with the wizard and it resulted in a web service with the following WSDL:
    <br>
    <br>
    &lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:sap-com:document:sap:soap:functions:mc-style"&gt;
    <br>
    <br>
    <br>
    <br>
             &lt;reglasSuscripcion&gt;
    <br>
                &lt;!Zero or more repetitions:&gt;
    <br>
                &lt;item&gt;
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
                &lt;/item&gt;
    <br>
    <br>
    <br>
    <br>
    &lt;item&gt;
    <br>
                   &lt;nombre&gt;?&lt;/nombre&gt;
    <br>
                   &lt;valor&gt;?&lt;/valor&gt;
    <br>
                &lt;/item&gt;
    <br>
             &lt;/reglasSuscripcion&gt;
    <br>
    <br>
    <br>
    <br>
    We found two main problems:
    <br>
    <br>
    1.- When "wrapping" the RFC as a WS with the wizard, for a table datatype it automatically includes the <item></item> tag, so we break the predefined calling rules.
    <br>
    <br>
    2.- The namespace is fixed by the wizard, and we would like to use a common namespace for all the "susbscribers", logically, the namespace fixed by the information diffusion service.
    <br>
    <br>
    We also tried to find info on the outside-in approach for building a web service from the WSDL, but all the info we found required the ESR and we have no PI, just the ERP.
    <br>
    <br>
    Any ideas on how to proceed?
    <br>
    <br>
    Thanks in advance,
    <br>
    <br>
    Joseba M. Iturbe
    <br>
    <br>
    Edited by: Soporte Desarrollo on Mar 5, 2010 10:56 AM

    #2.  I've recently had to "zap" some namespaces in an ECC5 system because the calling (TIBCO) system didn't appreciate the default SAP "urn" default - something to do with multiple colons in the address.  There were, I think, just three table this affected, all VEP* ones.  I think I should have been able to change these via the virtual interface in SE80 except that the ECC5 code was a bit "light" in this respect, so you may be able to do this now in SOAMANAGER in ECC6 (btw,  I also had to re-save the WS definition within WSCONFIG and re-activate the virtual interfaces after this "zap" to generated the associated handler class again).
    #1. Given your "name / value" pairs represent a complex type, then it might be better practice to have them as "item" which is probably why SAP proposes it this way... what does your custom function module parameter list look like?
    Jonathan

  • Invoking a AXIS Web Service with a Java object as input argument

    Hi
    I've been trying to execute a bpel process that invokes a web service deployed through axis.
    This web service takes a java object as input argument as opposed to data types that are directly mapped to java types through the SOAP engine.
    I deployed and tested the service outside of BPEL using a test client class. Everything works well.
    When I try to configure the "Assign" and "Invoke" activities so that service can be invoked, I cannot see the data structure through the variable picker and I see the following message:
    "The element {urn:ComplexTypeWebService}TimeSheetBean is not know to the schema container. Perhaps a schema file that uses it needs to include or import its definition.There mat also be an XML schema issue (non resolvable schema) which prevents {urn:ComplexTypeWebService}TimeSheetBean from being seen by the schema processor."
    Is there any example that demonstrates how to invoke an axis web service in such scenario? What am I doing wrong?
    Please, let me know.

    The passing of Java objects in and out of a web service is NOT supported. variables must be xml documents defined by a XML schema. In my opinion, missing Java object and WSDL is not a good idea. -Edwin

  • How to invoke a Web Service from PL/SQL with Complex Type as  input.

    Hello,
    I am trying to invoke a web service from PL/SQL using the UTL_DBWS package.
    The web service expects a complex type as input (defined below):
    <xs:complexType name="MsgType">
    <xs:sequence>
    <xs:element name="sender" type="xs:string"/>
    <xs:element name="messageId" type="xs:string"/>
    <xs:element name="messageType" type="xs:string"/>
    <xs:element name="dateSent" type="xs:date"/>
    </xs:sequence>
    </xs:complexType>
    How to construct input to this in PL/SQL Procedure?
    Has any body tried this before?
    An exmaple will be helpful.
    Thanks

    Dear,
    I have read your article, it is useful for me. But I cannot Apply to my case. Please kindly help me. Thank you.
    When running, the error occurs:
    1:39:31 Execution failed: ORA-20000: soapenv:Server.userException - org.xml.sax.SAXParseException: Attribute name &quot;password&quot; associated with an element type &quot;user&quot; must be followed by the &apos; = &apos; character.
    My webservice Url: http://abc.com.vn:81/axis/ABC_WS_TEST.jws?wsdl
    I make PL/SQL (similiar as your example)
    FUNCTION INVOKESENDMT
    RETURN VARCHAR2
    AS
    l_request soap_api.t_request;
    l_response soap_api.t_response;
    l_return VARCHAR2(32767);
    l_url VARCHAR2(32767);
    l_namespace VARCHAR2(32767);
    l_method VARCHAR2(32767);
    l_soap_action VARCHAR2(32767);
    l_result_name VARCHAR2(32767);
    p_zipcode VARCHAR2(160);
    BEGIN
    --p_zipcode:='''TEST'' ; ''TEST'';''84912187098'';''84912187098'';''0'';''8118'';''1'';''000001'';''ThuNghiem'';''''';
    p_zipcode:='TEST';
    -- Set proxy details if no direct net connection.
    --UTL_HTTP.set_proxy('myproxy:4480', NULL);
    --UTL_HTTP.set_persistent_conn_support(TRUE);
    -- Set proxy authentication if necessary.
    --soap_api.set_proxy_authentication(p_username => 'TEST',
    -- p_password => 'TEST');
    l_url := 'http://abc.com.vn:81/axis/ABC_WS_TEST.jws';
    l_namespace := 'xmlns="' || l_url || '"';
    l_method := 'sendMT';
    l_soap_action := l_url || '#sendMT';
    l_result_name := 'sendMTResponse';
    l_request := soap_api.new_request(p_method => l_method,
    p_namespace => l_namespace);
    soap_api.add_parameter(p_request => l_request,
    p_name => 'user password sender receiver chargedflag servicenumber messagetype messageid textcontent binarycontent',
    p_type => 'xsd:string',
    p_value => p_zipcode);
    l_response := soap_api.invoke(p_request => l_request,
    p_url => l_url,
    p_action => l_soap_action);
    l_return := soap_api.get_return_value(p_response => l_response,
    p_name => l_result_name,
    p_namespace => l_namespace);
    RETURN l_return;
    END;

  • Invoke web service with DTO

    Hey guys,
    I am quite new in using BPEL. My first test worked fine, but know I have an issue, which I can not solve. Invoking web services with a basic return value is no problem. I could also you a dto object including some basic variables in order to invoke the web service without having problems.
    But when I have a dto object as return value, I get the following exception.
    Could someone give me a hint to fix my problem...that would be great!
    Thanks alot!
    Sven
    <messages>
    - <input>
    - <carReserveRequest>
    - <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="in0">
    - <in0 xmlns="" xmlns:def="urn:TravelBooking" xsi:type="def:CarReservationDTO" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <carType>
    Mini
    </carType>
    <customerName>
    9
    </customerName>
    <customerPhone>
    9
    </customerPhone>
    <reservationEnd>
    2030-12-12T00:00:00.000+01:00
    </reservationEnd>
    <reservationStart>
    2029-12-12T00:00:00.000+01:00
    </reservationStart>
    </in0>
    </part>
    </carReserveRequest>
    </input>
    - <fault>
    - <remoteFault xmlns="http://schemas.oracle.com/bpel/extension">
    - <part name="summary">
    <summary>
    exception on JaxRpc invoke: trailing block elements must have an id attribute
    </summary>
    </part>
    </remoteFault>
    </fault>
    </messages
    Message was edited by:
    user606281

    Here is more information. Below are the relevant sections of the web service's WSDL which I am trying to call from BPEL:
    - <wsdl:message name="getNextIDResponse">
    <wsdl:part name="part1" element="ns0:getNextIDResponse" />
    </wsdl:message>
    - <wsdl:message name="getNextIDFault">
    <wsdl:part name="part1" element="ns0:SOAPExceptionFault" />
    </wsdl:message>
    <wsdl:message name="getNextIDMessage" />
    - <wsdl:portType name="GetUniqueIDPortType">
    - <wsdl:operation name="getNextID">
    <wsdl:input message="axis2:getNextIDMessage" wsaw:Action="urn:getNextID" />
    <wsdl:output message="axis2:getNextIDResponse" />
    <wsdl:fault name="getNextIDFault" message="axis2:getNextIDFault" />
    </wsdl:operation>
    </wsdl:portType>

  • Invoke a business service base in a WSDL with customer WS-Security Policy

    Customer write a Web service (Refer to the attachment file “HTTPS_PartyServicePortType.WSDL”)which declare a WS-Security Policy and apply this it to WS binding ,How can I generate a business service base in this WSDL and invoke it successfully?
    When create a business service in OSB, we get a error with below messages
    [[OSB Kernel:398133]The service is based on WSDL with Web Services Security Policies that are not natively supported by Oracle Service Bus. Please select OWSM Policies - From OWSM Policy Store option and attach equivalent OWSM security policy. For the Business Service, either you can add the necessary client policies manually by clicking Add button or you can let Oracle Service Bus automatically pick and add compatible client policies by clicking Add Compatible button.
    After enhanced the OSB domain with OWSM extension, we found the OOTB OWSM defined cannot support the HttpsToken and OSB cannot support below WS-Policy defined in OWSM, refer to http://docs.oracle.com/cd/E21764_01/doc.1111/e15866/owsm.htm#OSBDV1681
    51.2.8.1 Unsupported Assertion
    •     binding-permission-authorization
    •     http-security
    •     OptimizedMimeSerialization (MTOM)
    •     RMAssertion (Reliable Messaging)
    •     sca-component-authorization
    •     sca-component-permission-authorization
    •     UsingAddressing
    •     wss-saml-token-bearer-over-ssl (Authentication)
    it means that we cannot generate a web service with customer WS-security Policy
    The WS-Security Policy is shown as below:
    <wsp:Policy wsu:Id="WSHttpBinding_IPartyServicePortType_policy">
    <wsp:ExactlyOne>
    <wsp:All>
    <sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
    <wsp:Policy>
    <sp:TransportToken>
    <wsp:Policy>
    <sp:HttpsToken RequireClientCertificate="false"/>
    </wsp:Policy>
    </sp:TransportToken>
    <sp:AlgorithmSuite>
    <wsp:Policy><sp:Basic256/></wsp:Policy>
    </sp:AlgorithmSuite>
    <sp:Layout><wsp:Policy><sp:Strict/></wsp:Policy></sp:Layout>
    </wsp:Policy>
    </sp:TransportBinding>
    <wsaw:UsingAddressing/>
    </wsp:All>
    </wsp:ExactlyOne>
    </wsp:Policy>
    BestRegards!
    Simon

    Hi
    According to
    http://e-docs.bea.com/wls/docs90/webserv/annotations.html#1050414
    If you are going to publish the policy file in the Web Service archive, the policy XML file must be located in either the META-INF/policies or WEB-INF/policies directory of the EJB JAR file (for EJB implemented Web Services) or WAR file (for Java class implemented Web Services), respectively.
    Can you make sure the policy file is in there?
    Also there is a sample from the developer at http://dev2dev.bea.com/blog/jlee/archive/2005/09/how_to_use_anno.html
    Vimala-

  • Exception obtained when invoking a web service generated with JDeveloper

    Hello,
    I tried to create a synchronous BPEL process that invokes synchronously a Java Web Service created with the JDeveloper. The web service is wrapped around a regular Java class. The new created BPEL process is successfully compiled and deployed on the server. But when I try to initiate a test instance of the process in the BPEL console, after I fill the input parameter for then process and push the "Post XML Message" button, I obtain the following error:
    Your test request generated the following exception/fault:
    BPEL Fault: {http://oracle.com/cde/util/Top300DAO.wsdl}org.apache.wsif.soap.fault{org.apache.wsif.soap.fault.object=java.net.ConnectException: Connection refused: connect}
    I looked at flow and it throws the exception when it tries to invokes the web service generated with JDeveloper.
    Do you have any hints, ideas? Thanks a lot in advance for your help.
    I want to also say that the proxy settings for the BPEL server and designer are filled. I think that they are ok because I succeeded to start an instance of another process that calls synchronously an external Web Service.
    Regards,
    Marinel

    My guess is that this is caused by the WSDL of your service having an invalid service address. Can you please take a look at the WSDL of your service make sure that the location of the address is valid? (we have seen a couple of instances in the past where the generated url did not have the right port information).
    Update that WSDL, restart the BPEL server or from the BPEL console clear the WSDL cache and re-initiate your flow.
    Best,
    Edwin

  • Invoking web service with HTTP authentication using OdiInvokeWebService

    I did all configurations in OdiInvokeWebService Advanced Editor. When I press "Invoke web service" there are no errors. But when I try to execute this step there is an error:
    java.lang.IllegalArgumentException: Bad password format. Make sure that it's an encrypted password.
    Text of the command:
    OdiInvokeWebService "-URL=http://sapk02:8080/sap/bc/srt/rfc/sap/ZODI_FILE_SER?sap-client=800&wsdl=1.1" "-PORT_TYPE=ZODI_FILE_SER" "-OPERATION=ZODI_FILE" "-HTTP_USER=user" "-HTTP_PASS=_321321_"
    *<?xml version = '1.0' encoding = 'UTF8'?>*
    *<ZODI_FILERequest>*
    *<ZODI_FILE>*
    *<FILE>/tmp/temp1.txt</FILE>*
    *</ZODI_FILE>*
    *</ZODI_FILERequest>*
    When I fill HTTP password edit manually and try to execute there is another error:
    *com.sunopsis.wsinvocation.SnpsWSInvocationException: AxisFault*
    *faultCode: {http://xml.apache.org/axis/}HTTP*
    *faultSubcode:*
    *faultString: (401)Unauthorized*
    Text of the command:
    *OdiInvokeWebService "-URL=http://sapk02:8080/sap/bc/srt/rfc/sap/ZODI_FILE_SER?sap-client=800&wsdl=1.1" "-PORT_TYPE=ZODI_FILE_SER" "-OPERATION=ZODI_FILE" "-HTTP_USER=user" "-HTTP_PASS=*aIyHMmFSmTzVm1V08nTf"
    *<?xml version = '1.0' encoding = 'UTF8'?>*
    *<ZODI_FILERequest>*
    *<ZODI_FILE>*
    *<FILE>/tmp/temp1.txt</FILE>*
    *</ZODI_FILE>*
    *</ZODI_FILERequest>*
    ODI Version 11.1.1.3.0

    I've gotten past the original error by importing the security certificate of the Web service into my keystore/truststore. I'm also running the process on SOA 10.1.3.1.0. Now when I invoke the Web service from the BPEL process I get this error:
    exception on JaxRpc invoke: HTTP transport error:
    javax.xml.soap.SOAPException: java.security.PrivilegedActionException:
    javax.xml.soap.SOAPException: Bad response: 403 Forbidden
    I've tried passing the credentials every way I can -- partner link properties, Oracle Web Services Manager, whatever -- and still get the same error. I would expect to see a 401 error for problems with credentials, not a 403.
    Any suggestions?
    Thanks for your time.
    Paul Camann

  • Invoking Web Service with PKI Authentication from BPEL process

    Hello --
    I am trying to test calling a Web service utilizing PKI-based authentication from BPEL running under the 10.1.2.0.2 Process Manager. When I access the service from a browser I am prompted for Username and Password the first time. When I attempt to access it from BPEL I receive this error:
    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found
    Is it possible to access this service from BPEL in 10.1.2.0.2? How can I pass the service the required credentials?
    Thank you for your time,
    Paul Camann

    I've gotten past the original error by importing the security certificate of the Web service into my keystore/truststore. I'm also running the process on SOA 10.1.3.1.0. Now when I invoke the Web service from the BPEL process I get this error:
    exception on JaxRpc invoke: HTTP transport error:
    javax.xml.soap.SOAPException: java.security.PrivilegedActionException:
    javax.xml.soap.SOAPException: Bad response: 403 Forbidden
    I've tried passing the credentials every way I can -- partner link properties, Oracle Web Services Manager, whatever -- and still get the same error. I would expect to see a 401 error for problems with credentials, not a 403.
    Any suggestions?
    Thanks for your time.
    Paul Camann

  • How to create document/literal web services with WLS7

    How do you create document/literal web services with WLS7 ( not workshop)
    - Is it possible with servicegen and stateless EJBs as the backend component?
    The default is RPC/Soap-encoded is there anyway to craft the web-services.xml
    to make it document/literal
    - Is it possible with the JMS-implemented web services - have not tried this yet
    - Is there another mechanism?

    That would be the <web-service> element in the web-services.xml file, of course.
    "Michael Wooten" <[email protected]> wrote:
    >
    Hi Rich,
    Try adding a style="document" attribute to the starting <web-service>
    element.
    The might be a way to get <servicegen> to do this for you, but I haven't
    found
    it yet :-)
    Regards,
    Mike Wooten
    "Rich Muth" <[email protected]> wrote:
    How do you create document/literal web services with WLS7 ( not workshop)
    - Is it possible with servicegen and stateless EJBs as the backend component?
    The default is RPC/Soap-encoded is there anyway to craft the web-services.xml
    to make it document/literal
    - Is it possible with the JMS-implemented web services - have not tried
    this yet
    - Is there another mechanism?

  • Problem invoking a web service

    Hopefully this is an easy one for you gurus...
    I couldn't read my WSDL when it was in wrapped document/literal format, so I changed it to unwrapped document/literal, and now my javax.wsdl.xml.WSDLReader has no problem reading it. GREAT! Right?
    Well, now when I go to invoke the darn thing I get this exception:
    org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
    I'm trying to invoke the Web Service like this:
    Service myService = new Service();
    String retval = "";
    try {
         myService.setCacheWSDL(true);
         Call myCall = (Call) myService.createCall();
         myCall.setTargetEndpointAddress(endpoint);
         myCall.setOperationName(new QName(endpoint, methodName));
         myCall.setTimeout(new Integer(HdConstants.SERVICE_CALL_TIMEOUT));
         Object myArgs[] = argVals.toArray();
         retval = (String) myCall.invoke(myArgs); .....HELP!!
    Thanks,
    -Jack
    Message was edited by:
    snoCarver
    Message was edited by:
    snoCarver

    Hi,
    Can anyone help me with this ??
    I guess I am not able to send the authorization credentials via the request to the web service invocation.
    Plz help ! This is a bit urgent..
    Regards,
    Shiva Kiran

Maybe you are looking for

  • XML PUBLISHER report in Excel out put problem

    Hi Experts, I have developed one XML report which output type is EXCEL in Oracle Application. I am getting some -ve value in the report so I need to do the trailing sign Menace for example I got a value -8645 I need to display the value like (8645).

  • How to share apps on 2 Macs with the same Apple ID ?

    Hi, I got a new iMac (2013 - Mavericks), and I gave my old one (2010 - Lion) to my husband. I've downloaded some new games on the Apple Store with my Apple ID for my new Mac, and it works fine. But when my husband wants to install them on his Mac, wh

  • Getting Error in  shuttle region while loading page.

    Hi All, I am developing shuttle region in a page which depends on selected values in the drop down list. i am getting all values for every value in the drop down list. but i want to get values in the Available list of shuttle region with respective v

  • Using mini as ethernet pass-through?

    I want to use my Mac mini which is connected to my router wirelessly to network several devices using ethernet connections.  I was wondering if it was as simple as getting an ethernet switch and connecting that to the Mac mini and then using the down

  • Export Jasper Report Through JSP(using parameters)

    Hi All ; Please I need A help ; I need to use a Jasper Report in my jsp pages using parameters ; can some one tell me how i can do it by steps & with example ; note that i use Oracle Data Base; Regards;