wso2 bpel错误:没有结果表达

时间:2013-10-28 05:52:58

标签: wso2 wso2esb bpel

BPEL流程已部署到本地BPS服务器,BPEL代码如下:

<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>

当我点击&#34;尝试它&#34;在BPEL面板上的按钮,我获得了SOAP消息传递的以下接口。在这种情况下,我将值1和PIS放在一起。

<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>

本案的回应如下:

<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>

服务器的堆栈跟踪如下:

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}

3 个答案:

答案 0 :(得分:2)

欢迎来到XML命名空间的狂野世界。坐下来,它不漂亮。

非常重要: XML命名空间看起来像网址,但它们不是网页地址。它们只是一个独特的字符串,标准的web-URL-looking-thing似乎运行良好。

基本上,XML文件中包含BPEL文件和输入文件的每个元素都被分配给命名空间。它们以多种方式定义,包括在封闭元素中分配默认命名空间(targetNamespace),并使用缩写定义命名空间,然后将缩写作为元素名称的前缀以提供完整定义。

因此,在BPEL文件的顶部,在实际的<bpel:process标记中,您可以像这样定义XML名称空间ns0xmlns:ns0="http://ws.wso2.org/dataservice"

因此,当您在copy / from元素中指定要在BPEL中查找的字段时,如下所示:

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

它正在寻找op1名称空间中的元素NIDNamehttp://ws.wso2.org/dataservice元素。

但实际上

  1. 错误,根据适用的WSDL(见下文)
  2. 不是您在XML文件中提供的内容(或至少在上面发布的XML中)。
  3. 因为您正在使用工具来获取输入,所以修复点1可能(可能?)修复第2点。

    如果我们分解您正在尝试做的事情以及XML正在计算的内容:

    您正在调用CreateAccount操作(第37行)

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

    因此,它正在寻找一个名为AOPPLRequest的变量。上面定义的(第22行):<bpel:variable name="AOPPLRequest" messageType="ns:CreateAccountRequest"/>

    这表示它将在使用CreateAccountRequest前缀定义的命名空间中为ns类型。

    {1}}前缀也在第1行中定义:ns - 重要提示:这是您应该在复制命令中提供和查找的实际命名空间。

    我真的想找到xmlns:ns="http://wso2.org/banking"消息的有效结构。

    第10行说:CreateAccountRequest

    这很好,因为WSDL文件用于定义Web服务。 Google在这里提供了帮助,所以我用Google搜索了<bpel:import namespace="http://wso2.org/banking" location="AccountOpeningProcessService.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>并获得了wso2 svn存储库的链接,这对我来说已经足够了:https://svn.wso2.org/repos/wso2/trunk/tools/ide/eclipse/docs/src/main/resources/samples/banking-sample/Webinar/AccountOpeningProcess/还有一个指向我想要的WSDL文件的链接。 https://svn.wso2.org/repos/wso2/trunk/tools/ide/eclipse/docs/src/main/resources/samples/banking-sample/Webinar/AccountOpeningProcess/AccountOpeningProcessService.wsdl

    该WSDL文件包含此gem:

    AccountOpeningProcessService.wsdl

    请注意,<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> 就在那里,这基本上意味着&#34;如果我没有给你一个命名空间,那么将这个用作默认值&#34;,所以这里定义的所有内容都在名称空间targetNamespace

    这很好,因为这是我们先前在第22行中指出的命名空间,指的是第37行中的元素。

    这意味着,http://wso2.org/banking结构的这个片段(来自第71行)似乎是问题所在:

    copy

    它正在查找名称空间<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> (第一行中定义的http://ws.wso2.org/dataservice)中的元素,而不是名称空间ns0,即http://wso2.org/banking如第一行中所定义。

    所以我建议(无法访问wso2),您会找到一种方法将该副本从元素更改为:

    ns

    这是将 <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> 更改为ns0: - 从而将它们放入正确的命名空间。

    很遗憾,两个命名空间之间的这种不匹配贯穿于您的BPEL中,所以我认为您需要进行长时间的战斗。

    我发现(特别是JCAPS,无论如何),一旦命名空间被破坏,有时候从头开始再次创建BPEL会更快。

答案 1 :(得分:1)

在定义你的jax-ws服务项目时,提到GregHNZ是绝对正确的,你需要在@WebService注释中定义targetNameSpave @WebService(serviceName =“AddServiceImpl”,targetNamespace =“http:// xxx / xxx / services / addService”) 否则bpel会显示你提到的同样错误

答案 2 :(得分:0)

感谢@GregHNZ的回复。我不理解它的某些部分,这有助于我评估我不会像我想象的那样轻松地执行此操作。这是我的伎俩。我将划分BPEL应用程序。目前我只关注DSS(数据服务电话)。 customerDS的wsdl文件可以在下面找到。我正在寻找BPEL的电话,要求DSS为我的特定客户提取详细信息。如果客户不在那里,请创建一个条目并将其发回给我。 (这是MySQL上的程序)。这很好,因为我已经测试过了。 所以这是一个关于如何为调用DSS制作BPEL工作流的简单问题。这将有助于我掌握基础知识。 谢谢! 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>