Frage

BPEL process has been deployed to local BPS server, the BPEL code is as follows:

<bpel:process xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:ns2="http://sample.wso2.org" xmlns:aop="http://wso2.org/sample/bankingArtifacts" xmlns:ns1="http://hcc.wso2" xmlns:ns="http://wso2.org/banking" xmlns:tns="http://wso2.org/sample/banking" xmlns:ns0="http://ws.wso2.org/dataservice" xmlns:xsd="http://sample.wso2.org/xsd" xmlns:hcc="http://hcc.wso2/xsd" name="AccountOpeningProcess" targetNamespace="http://wso2.org/sample/banking" suppressJoinFailure="yes">
   <!-- ================================================================= -->
      <!-- PARTNERLINKS                                                      -->
         <!-- List of services participating in this BPEL process               -->
            <!-- ================================================================= -->
               <bpel:import namespace="http://sample.wso2.org" location="CardService.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
               <bpel:import namespace="http://hcc.wso2" location="AccountDetailService.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
               <bpel:import namespace="http://ws.wso2.org/dataservice" location="CustomerDS.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
               <bpel:import namespace="http://wso2.org/sample/bankingArtifacts" location="AccountOpeningProcessArtifacts.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
               <bpel:import namespace="http://wso2.org/banking" location="AccountOpeningProcessService.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
               <bpel:partnerLinks>
                  <bpel:partnerLink name="AOPPL" partnerLinkType="aop:AOPPLT" myRole="openAccountRole"/>
                  <bpel:partnerLink name="CDSPL" partnerLinkType="aop:CDSPLT" partnerRole="customerDSRole"/>
                  <bpel:partnerLink name="ADSPL" partnerLinkType="aop:ADSPLT" partnerRole="accountRole"/>
                  <bpel:partnerLink name="CSPL" partnerLinkType="aop:CSPLT" partnerRole="cardRole"/>
               </bpel:partnerLinks>
               <!-- ================================================================= -->
                  <!-- VARIABLES                                                         -->
                     <!-- List of messages and XML documents used within this BPEL process  -->
                        <!-- ================================================================= -->
                           <bpel:variables>
                              <bpel:variable name="AOPPLRequest" messageType="ns:CreateAccountRequest"/>
                              <bpel:variable name="AOPPLResponse" messageType="ns:CreateAccountResponse"/>
                              <bpel:variable name="CDSPLResponse" messageType="ns0:op1Response"/>
                              <bpel:variable name="CDSPLRequest" messageType="ns0:op1Request"/>
                              <bpel:variable name="ADSPLResponse" messageType="ns1:createAccountResponse"/>
                              <bpel:variable name="ADSPLRequest" messageType="ns1:createAccountRequest"/>
                              <bpel:variable name="CSPLResponse" messageType="ns2:issueCardResponse"/>
                              <bpel:variable name="CSPLRequest" messageType="ns2:issueCardRequest"/>
                           </bpel:variables>
                           <!-- ================================================================= -->
                              <!-- ORCHESTRATION LOGIC                                               -->
                                 <!-- Set of activities coordinating the flow of messages across the    -->
                                    <!-- services integrated within this business process                  -->
                                       <!-- ================================================================= -->
                                          <bpel:sequence>
                                             <bpel:receive name="Receive" partnerLink="AOPPL" operation="CreateAccount" portType="ns:AccountOpeningProcessService" variable="AOPPLRequest" createInstance="yes"/>
                                             <bpel:assign validate="no" name="InitCustomerDataserviceRequest">
                                                <bpel:copy>
                                                   <bpel:from>
                                                      <bpel:literal xml:space="preserve">
                                                         <ns0:op1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                                                            <ns0:NID/>
                                                            <ns0:Name/>
                                                         </ns0:op1>
                                                      </bpel:literal>
                                                   </bpel:from>
                                                   <bpel:to part="parameters" variable="CDSPLRequest">
                                                      <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">ns0:NID</bpel:query>
                                                   </bpel:to>
                                                </bpel:copy>
                                                <bpel:copy>
                                                   <bpel:from part="parameters" variable="AOPPLRequest">
                                                      <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">                        nid                    </bpel:query>
                                                   </bpel:from>
                                                   <bpel:to part="parameters" variable="CDSPLRequest">
                                                      <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">                        ns0:Name                    </bpel:query>
                                                   </bpel:to>
                                                </bpel:copy>
                                                <bpel:copy>
                                                   <bpel:from part="parameters" variable="AOPPLRequest">
                                                      <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">name</bpel:query>
                                                   </bpel:from>
                                                   <bpel:to part="parameters" variable="CDSPLRequest">
                                                      <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">ns0:Name</bpel:query>
                                                   </bpel:to>
                                                </bpel:copy>
                                             </bpel:assign>
                                             <bpel:invoke name="Invoke-CustomerDataService" partnerLink="CDSPL" operation="op1" portType="ns0:CustomerDSPortType" inputVariable="CDSPLRequest" outputVariable="CDSPLResponse"/>
                                             <bpel:assign validate="yes" name="InitAccountRequest">
                                                <bpel:copy>
                                                   <bpel:from>
                                                      <bpel:literal xml:space="preserve">
                                                         <hcc:createAccount xmlns:hcc="http://hcc.wso2">
                                                            <hcc:customerId/>
                                                            <hcc:isNewCustomer/>
                                                            <hcc:accountType/>
                                                         </hcc:createAccount>
                                                      </bpel:literal>
                                                   </bpel:from>
                                                   <bpel:to part="parameters" variable="ADSPLRequest"/>
                                                </bpel:copy>
                                                <bpel:copy>
                                                   <bpel:from part="parameters" variable="CDSPLResponse">
                                                      <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">                        ns0:Entry[1]/ns0:Customer                    </bpel:query>
                                                   </bpel:from>
                                                   <bpel:to part="parameters" variable="ADSPLRequest">
                                                      <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">ns1:customerId</bpel:query>
                                                   </bpel:to>
                                                </bpel:copy>
                                                <bpel:copy>
                                                   <bpel:from part="parameters" variable="CDSPLResponse">
                                                      <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">ns0:Entry[1]/ns0:Flag</bpel:query>
                                                   </bpel:from>
                                                   <bpel:to part="parameters" variable="ADSPLRequest">
                                                      <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">ns1:isNewCustomer</bpel:query>
                                                   </bpel:to>
                                                </bpel:copy>
                                                <bpel:copy>
                                                   <bpel:from part="parameters" variable="AOPPLRequest">
                                                      <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">accountType</bpel:query>
                                                   </bpel:from>
                                                   <bpel:to part="parameters" variable="ADSPLRequest">
                                                      <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">ns1:accountType</bpel:query>
                                                   </bpel:to>
                                                </bpel:copy>
                                             </bpel:assign>
                                             <bpel:invoke name="Invoke-AccountService" partnerLink="ADSPL" operation="createAccount" portType="ns1:AccountDetailServicePortType" inputVariable="ADSPLRequest" outputVariable="ADSPLResponse"/>
                                             <bpel:if name="IfNewCustomer">
                                                <bpel:condition expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">$CDSPLResponse.parameters/ns0:Entry[1]/ns0:Flag = 0</bpel:condition>
                                                <bpel:sequence name="Sequence">
                                                   <bpel:assign validate="no" name="InitCardServiceRequest">
                                                      <bpel:copy>
                                                         <bpel:from>
                                                            <bpel:literal xml:space="preserve">
                                                               <sam:issueCard xmlns:sam="http://sample.wso2.org">
                                                                  <sam:customerID>?</sam:customerID>
                                                                  <sam:isExistingCustomer>?</sam:isExistingCustomer>
                                                                  <sam:customerName>?</sam:customerName>
                                                                  <sam:accountNo>?</sam:accountNo>
                                                               </sam:issueCard>
                                                            </bpel:literal>
                                                         </bpel:from>
                                                         <bpel:to part="parameters" variable="CSPLRequest"/>
                                                      </bpel:copy>
                                                      <bpel:copy>
                                                         <bpel:from part="parameters" variable="CDSPLResponse">
                                                            <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">ns0:Entry[1]/ns0:Customer</bpel:query>
                                                         </bpel:from>
                                                         <bpel:to part="parameters" variable="CSPLRequest">
                                                            <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">ns2:customerID</bpel:query>
                                                         </bpel:to>
                                                      </bpel:copy>
                                                      <bpel:copy>
                                                         <bpel:from part="parameters" variable="CDSPLResponse">
                                                            <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">ns0:Entry[1]/ns0:Flag</bpel:query>
                                                         </bpel:from>
                                                         <bpel:to part="parameters" variable="CSPLRequest">
                                                            <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">ns2:isExistingCustomer</bpel:query>
                                                         </bpel:to>
                                                      </bpel:copy>
                                                      <bpel:copy>
                                                         <bpel:from part="parameters" variable="ADSPLResponse">
                                                            <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">ns1:return/hcc:accountNo</bpel:query>
                                                         </bpel:from>
                                                         <bpel:to part="parameters" variable="CSPLRequest">
                                                            <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">ns2:accountNo</bpel:query>
                                                         </bpel:to>
                                                      </bpel:copy>
                                                      <bpel:copy>
                                                         <bpel:from part="parameters" variable="AOPPLRequest">
                                                            <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">name</bpel:query>
                                                         </bpel:from>
                                                         <bpel:to part="parameters" variable="CSPLRequest">
                                                            <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">ns2:customerName</bpel:query>
                                                         </bpel:to>
                                                      </bpel:copy>
                                                   </bpel:assign>
                                                   <bpel:invoke name="Invoke-CardService" partnerLink="CSPL" operation="issueCard" portType="ns2:CardServicePortType" inputVariable="CSPLRequest" outputVariable="CSPLResponse"/>
                                                   <bpel:assign validate="no" name="InitResponse">
                                                      <bpel:copy>
                                                         <bpel:from part="parameters" variable="CSPLResponse"/>
                                                         <bpel:to part="parameters" variable="AOPPLResponse"/>
                                                      </bpel:copy>
                                                   </bpel:assign>
                                                </bpel:sequence>
                                                <bpel:else>
                                                   <bpel:sequence name="Sequence1">
                                                      <bpel:assign validate="no" name="InitResponse">
                                                         <bpel:copy>
                                                            <bpel:from>
                                                               <bpel:literal xml:space="preserve">
                                                                  <issueCardResponse xmlns="http://sample.wso2.org">
                                                                     <return>
                                                                        <accountNo xmlns="http://sample.wso2.org/xsd"/>
                                                                        <customerID xmlns="http://sample.wso2.org/xsd"/>
                                                                     </return>
                                                                  </issueCardResponse>
                                                               </bpel:literal>
                                                            </bpel:from>
                                                            <bpel:to part="parameters" variable="AOPPLResponse"/>
                                                         </bpel:copy>
                                                         <bpel:copy>
                                                            <bpel:from part="parameters" variable="ADSPLResponse">
                                                               <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">ns1:return/hcc:accountNo</bpel:query>
                                                            </bpel:from>
                                                            <bpel:to part="parameters" variable="AOPPLResponse">
                                                               <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">ns2:return/xsd:accountNo</bpel:query>
                                                            </bpel:to>
                                                         </bpel:copy>
                                                         <bpel:copy>
                                                            <bpel:from part="parameters" variable="CDSPLResponse">
                                                               <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">                                    ns0:Entry[1]/ns0:Customer                                </bpel:query>
                                                            </bpel:from>
                                                            <bpel:to part="parameters" variable="AOPPLResponse">
                                                               <bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0">                                    ns2:return/xsd:customerID                                </bpel:query>
                                                            </bpel:to>
                                                         </bpel:copy>
                                                      </bpel:assign>
                                                   </bpel:sequence>
                                                </bpel:else>
                                             </bpel:if>
                                             <bpel:reply name="Reply" partnerLink="AOPPL" operation="CreateAccount" portType="ns:AccountOpeningProcessService" variable="AOPPLResponse"/>
                                          </bpel:sequence>
                                       </bpel:process>

When I hit the "try it " button on the BPEL panel, I get the following interface for SOAP message passing. I am putting the values 1, and PIS in this case.

<body>
   <p:CreateAccount xmlns:p="http://wso2.org/banking">
      <!--Exactly 1 occurrence-->
      <nid>"1"</nid>
      <!--Exactly 1 occurrence-->
      <name>"PIS"</name>
      <!--Exactly 1 occurrence-->
      <accountType>?</accountType>
   </p:CreateAccount>
</body>

The response in this case is as follows:

<soapenv:Fault xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <faultcode>soapenv:Server</faultcode>
   <faultstring xmlns:axis2ns6="http://docs.oasis-open.org/wsbpel/2.0/process/executable">axis2ns6:selectionFailure</faultstring>
   <detail/>
</soapenv:Fault>

The Stack-trace for the server is as follows:

TID: [0] [BPS] [2013-10-28 01:35:22,647]  WARN {org.apache.ode.bpel.engine.BpelProcess} -  Instance 3105 of {http://wso2.org/sample/banking}AccountOpeningProcess-9 has completed with fault: FaultData: [faultName={http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure, faulType=null ({http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure: No results for expression: 'ns0:NID' against '<?xml version="1.0" encoding="UTF-8"?>
<op1 xmlns="http://ws.wso2.org/dataservice"/>')] @49 {org.apache.ode.bpel.engine.BpelProcess}
TID: [0] [BPS] [2013-10-28 01:35:29,143]  INFO {org.apache.ode.bpel.runtime.ASSIGN} -  Assignment Fault: {http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure,lineNo=49,faultExplanation={http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure: No results for expression: 'ns0:NID' against '<?xml version="1.0" encoding="UTF-8"?>
<op1 xmlns="http://ws.wso2.org/dataservice"/>' {org.apache.ode.bpel.runtime.ASSIGN}
TID: [0] [BPS] [2013-10-28 01:35:29,143]  INFO {org.apache.ode.bpel.runtime.ASSIGN} -  Assignment Fault: {http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure,lineNo=49,faultExplanation={http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure: No results for expression: 'ns0:NID' against '<?xml version="1.0" encoding="UTF-8"?>
<op1 xmlns="http://ws.wso2.org/dataservice"/>' {org.apache.ode.bpel.runtime.ASSIGN}
TID: [0] [BPS] [2013-10-28 01:35:29,149]  WARN {org.apache.ode.bpel.engine.BpelProcess} -  Instance 3106 of {http://wso2.org/sample/banking}AccountOpeningProcess-9 has completed with fault: FaultData: [faultName={http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure, faulType=null ({http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure: No results for expression: 'ns0:NID' against '<?xml version="1.0" encoding="UTF-8"?>
<op1 xmlns="http://ws.wso2.org/dataservice"/>')] @49 {org.apache.ode.bpel.engine.BpelProcess}
TID: [0] [BPS] [2013-10-28 01:35:29,149]  WARN {org.apache.ode.bpel.engine.BpelProcess} -  Instance 3106 of {http://wso2.org/sample/banking}AccountOpeningProcess-9 has completed with fault: FaultData: [faultName={http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure, faulType=null ({http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure: No results for expression: 'ns0:NID' against '<?xml version="1.0" encoding="UTF-8"?>
<op1 xmlns="http://ws.wso2.org/dataservice"/>')] @49 {org.apache.ode.bpel.engine.BpelProcess}
War es hilfreich?

Lösung

Welcome to the wild world of XML namespaces. Take a seat, it's not pretty.

Very important: XML namespaces look like URLs but they're not web-page addresses. They're just unique strings, for which the standard web-URL-looking-thing seems to work quite well.

Basically, every element in an XML file, which includes both the BPEL file and your input file is assigned to a namespace. These are defined in a bunch of ways, which include assigning a default namespace (a targetNamespace) in an enclosing element, and definining namespace with abbreviations that then get prefixed to the element name to give a full definition.

So at the top of your BPEL file, in the actual <bpel:process tag, you define XML namespace ns0 like this: xmlns:ns0="http://ws.wso2.org/dataservice".

So when you specify the fields to look for in your BPEL in the copy / from element like this:

   <ns0:op1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <ns0:NID/>
       <ns0:Name/>
   </ns0:op1>

It's looking for elements op1, NID and Name elements to be in the http://ws.wso2.org/dataservice namespace.

But that's actually

  1. Wrong, according to the WSDL that applies (see below)
  2. Not what you've supplied in your XML file (or at least in the XML posted above).

Because you're using a tool to get the input, fixing point 1. will probably (possibly?) fix point 2.

If we break down what you're trying to do and what XML is calculating:

You're calling the CreateAccount operation (line 37)

<bpel:receive name="Receive" partnerLink="AOPPL" operation="CreateAccount" portType="ns:AccountOpeningProcessService" variable="AOPPLRequest" createInstance="yes"/>

So it's looking for a variable that's called AOPPLRequest. That's defined above (line 22): <bpel:variable name="AOPPLRequest" messageType="ns:CreateAccountRequest"/>

That says it's going to be of type CreateAccountRequest in the namespace that is defined with the ns prefix.

The ns prefix is defined in line 1 also: xmlns:ns="http://wso2.org/banking" - Important: this is the actual namespace you should be supplying and looking for in your copy command.

I'd actually like to find what the valid structures for a CreateAccountRequest message is.

Line 10 says this: <bpel:import namespace="http://wso2.org/banking" location="AccountOpeningProcessService.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>

This is good because a WSDL file is used to define web-services. Google helps here, so I googled AccountOpeningProcessService.wsdl and got a link into the wso2 svn repository, which is good enough for me: https://svn.wso2.org/repos/wso2/trunk/tools/ide/eclipse/docs/src/main/resources/samples/banking-sample/Webinar/AccountOpeningProcess/ And theres a link to the WSDL file I want from there. https://svn.wso2.org/repos/wso2/trunk/tools/ide/eclipse/docs/src/main/resources/samples/banking-sample/Webinar/AccountOpeningProcess/AccountOpeningProcessService.wsdl

That WSDL file includes this gem:

<xsd:schema targetNamespace="http://wso2.org/banking">
    <xsd:element name="CreateAccount">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="nid" type="xsd:string" />
                <xsd:element name="name" type="xsd:string"></xsd:element>
                <xsd:element name="accountType" type="xsd:string"></xsd:element>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>

Note that targetNamespace is there, which basically means "if I don't give you a namespace, then use this one as a default", so everything defined here is in the namespace http://wso2.org/banking

This is good because that's the namespace we identified previously in line 22, referring to the element in line 37.

What that means, is that this fragment of your copy structure (from line 71) appears to be the problem:

<bpel:assign validate="no" name="InitCustomerDataserviceRequest">
    <bpel:copy>
       <bpel:from>
          <bpel:literal xml:space="preserve">
             <ns0:op1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <ns0:NID/>
                <ns0:Name/>
             </ns0:op1>
          </bpel:literal>
       </bpel:from>

It's looking for elements in the namespace http://ws.wso2.org/dataservice (ns0 as defined in the first line), instead of the namespace http://wso2.org/banking, which is ns as defined in the first line.

So I'd suggest (without having access to wso2), you find a way to change that copy from element to this:

   <bpel:assign validate="no" name="InitCustomerDataserviceRequest">
        <bpel:copy>
           <bpel:from>
              <bpel:literal xml:space="preserve">
                 <ns:op1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                    <ns:NID/>
                    <ns:Name/>
                 </ns:op1>
              </bpel:literal>
           </bpel:from>

That is change ns0: to ns: - thereby putting them into the correct namespace.

Unfortunately, this mismatch between the two namespaces is throughout your BPEL, so I think you're in for a long battle.

I've found (specifically with JCAPS, anyway) that once the namespaces get mangled like this, it's sometimes quicker to create the BPEL again from scratch.

Andere Tipps

What GregHNZ being mentioned is absolutely right when defining your jax-ws service project you need to define the targetNameSpave in @WebService annotation like @WebService(serviceName = "AddServiceImpl", targetNamespace="http://xxx/xxx/services/addService") else bpel will show same error you mentioned

Thanks @GregHNZ for the reply. I didnt understand some part of it, and that helps me evaluate that I am not going to execute this easily as I might have thought. Here is my trick. I am going to divide the BPEL application. Currently I am just focussing on DSS (data service call). The wsdl file for customerDS can be found below. I am just looking for making a call from BPEL asking DSS to fetch the details for me for a given customer. If the customer is not there kindly create an entry and send it back to me. (This is the procedure on the MySQL). This works fine, as I tested it already. So Here is a simple question on how to make a BPEL workflow for calling DSS. This will help me get the basics. Thanks! PS: customerDS.wsdl

<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:ns0="http://ws.wso2.org/dataservice" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://ws.wso2.org/dataservice">
    <wsdl:documentation />
    <wsdl:types>
        <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://ws.wso2.org/dataservice">
            <xs:element name="DataServiceFault" type="xs:string" />
            <xs:element name="REQUEST_STATUS" type="xs:string" />
            <xs:element name="op1">
                <xs:complexType>
                    <xs:sequence>

                        <xs:element name="NID" nillable="true" type="xs:string" />
                        <xs:element name="Name" nillable="true" type="xs:string" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="Entries" type="ns0:Entries" />
            <xs:complexType name="Entries">
                <xs:sequence>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="Entry" type="ns0:Entry" />

                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="Entry">
                <xs:sequence>
                    <xs:element name="Flag" nillable="true" type="xs:integer" />
                    <xs:element name="Customer" nillable="true" type="xs:string" />
                </xs:sequence>
            </xs:complexType>
        </xs:schema>

    </wsdl:types>
    <wsdl:message name="op1Request">
        <wsdl:part name="parameters" element="ns0:op1" />
    </wsdl:message>
    <wsdl:message name="op1Response">
        <wsdl:part name="parameters" element="ns0:Entries" />
    </wsdl:message>
    <wsdl:message name="DataServiceFault">
        <wsdl:part name="parameters" element="ns0:DataServiceFault" />

    </wsdl:message>
    <wsdl:portType name="CustomerDSPortType">
        <wsdl:operation name="op1">
            <wsdl:documentation />
            <wsdl:input message="ns0:op1Request" wsaw:Action="urn:op1" />
            <wsdl:output message="ns0:op1Response" wsaw:Action="urn:op1Response" />
            <wsdl:fault message="ns0:DataServiceFault" name="DataServiceFault" wsaw:Action="urn:op1DataServiceFault" />
        </wsdl:operation>
    </wsdl:portType>

    <wsdl:binding name="CustomerDSSOAP11Binding" type="ns0:CustomerDSPortType">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
        <wsdl:operation name="op1">
            <soap:operation soapAction="urn:op1" style="document" />
            <wsdl:input>
                <soap:body use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal" />

            </wsdl:output>
            <wsdl:fault name="DataServiceFault">
                <soap:fault use="literal" name="DataServiceFault" />
            </wsdl:fault>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="CustomerDSSOAP12Binding" type="ns0:CustomerDSPortType">
        <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
        <wsdl:operation name="op1">

            <soap12:operation soapAction="urn:op1" style="document" />
            <wsdl:input>
                <soap12:body use="literal" />
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal" />
            </wsdl:output>
            <wsdl:fault name="DataServiceFault">
                <soap12:fault use="literal" name="DataServiceFault" />

            </wsdl:fault>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="CustomerDSHttpBinding" type="ns0:CustomerDSPortType">
        <http:binding verb="POST" />
        <wsdl:operation name="op1">
            <http:operation location="op1" />
            <wsdl:input>
                <mime:content type="text/xml" part="parameters" />

            </wsdl:input>
            <wsdl:output>
                <mime:content type="text/xml" part="parameters" />
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="CustomerDS">
        <wsdl:port name="SOAP11Endpoint" binding="ns0:CustomerDSSOAP11Binding">
            <soap:address location="http://localhost:9769/services/CustomerDS" />

        </wsdl:port>
        <!--wsdl:port name="SecureSOAP11Endpoint" binding="ns0:CustomerDSSOAP11Binding">
            <soap:address location="https://10.216.163.231:9443/services/CustomerDS.SecureSOAP11Endpoint/" />
        </wsdl:port>
        <wsdl:port name="SecureSOAP12Endpoint" binding="ns0:CustomerDSSOAP12Binding">
            <soap12:address location="https://10.216.163.231:9443/services/CustomerDS.SecureSOAP12Endpoint/" />
        </wsdl:port>
        <wsdl:port name="SOAP12Endpoint" binding="ns0:CustomerDSSOAP12Binding">
            <soap12:address location="http://10.216.163.231:9763/services/CustomerDS.SOAP12Endpoint/" />

        </wsdl:port>
        <wsdl:port name="HTTPEndpoint" binding="ns0:CustomerDSHttpBinding">
            <http:address location="http://10.216.163.231:9763/services/CustomerDS.HTTPEndpoint/" />
        </wsdl:port>
        <wsdl:port name="SecureHTTPEndpoint" binding="ns0:CustomerDSHttpBinding">
            <http:address location="https://10.216.163.231:9443/services/CustomerDS.SecureHTTPEndpoint/" />
        </wsdl:port-->
    </wsdl:service>
</wsdl:definitions>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top