首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wso2 bpel错误:表达式没有结果

wso2 bpel错误:表达式没有结果
EN

Stack Overflow用户
提问于 2013-10-28 05:52:58
回答 3查看 1.3K关注 0票数 1

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

代码语言:javascript
复制
<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>

当我点击BPEL面板上的“尝试它”按钮时,我会得到下面的SOAP消息传递接口。我将值1和PIS放在这个例子中。

代码语言:javascript
复制
<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>

对这种情况的答复如下:

代码语言:javascript
复制
<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>

服务器的堆栈跟踪如下:

代码语言:javascript
复制
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}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-28 07:03:57

欢迎来到XML名称空间的广阔世界。坐吧,这不漂亮。

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

基本上,XML文件中的每个元素(包括BPEL文件和输入文件)都分配给名称空间。这些都是以多种方式定义的,包括在一个封闭元素中分配一个默认的名称空间(一个targetNamespace),以及用缩写来定义名称空间,然后以元素名称作为前缀来给出一个完整的定义。

因此,在BPEL文件的顶部,在实际的<bpel:process标记中,定义XML名称空间ns0,如下所示:xmlns:ns0="http://ws.wso2.org/dataservice"

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

代码语言:javascript
复制
   <ns0:op1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <ns0:NID/>
       <ns0:Name/>
   </ns0:op1>

它正在寻找元素op1NIDName元素在http://ws.wso2.org/dataservice命名空间中。

但那实际上是

  1. 错误,根据适用的WSDL (见下文)
  2. 而不是您在XML文件中提供的内容(或者至少在上面发布的XML中)。

因为您正在使用一个工具来获取输入,所以修正点1很可能(可能吗?)修正点2。

如果我们分析了您要做的事情和XML正在计算的内容,那么:

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

代码语言:javascript
复制
<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类型。

ns前缀也是在第1行中定义的:xmlns:ns="http://wso2.org/banking" -重要:,这是您应该在copy命令中提供和查找的实际名称空间。

实际上,我想知道CreateAccountRequest消息的有效结构是什么。

第10行说:<bpel:import namespace="http://wso2.org/banking" location="AccountOpeningProcessService.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>

这很好,因为WSDL文件用于定义web服务。Google在这里提供了帮助,所以我搜索了AccountOpeningProcessService.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文件包括以下创业板:

代码语言:javascript
复制
<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>

注意,targetNamespace在那里,这基本上意味着“如果我不给您一个名称空间,那么使用这个作为默认名称空间”,所以这里定义的所有内容都在名称空间http://wso2.org/banking中。

这很好,因为这是我们前面在第22行中标识的名称空间,它引用了第37行中的元素。

这意味着,您的copy结构的这个片段(来自第71行)似乎是问题所在:

代码语言:javascript
复制
<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,后者是ns

因此,我建议(不需要访问wso2),您可以找到一种方法将该副本从元素更改为以下内容:

代码语言:javascript
复制
   <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:更改为ns:,从而将它们放到正确的命名空间中。

Unfortunately,两个名称空间之间的不匹配贯穿您的BPEL,因此我认为您将面临一场漫长的战斗。

我发现(特别是使用JCAPS ),一旦名称空间受到这样的破坏,从零开始创建BPEL有时会更快。

票数 2
EN

Stack Overflow用户

发布于 2013-11-05 15:36:16

在定义jax-ws服务项目时,所提到的GregHNZ是完全正确的,您需要在@WebService(serviceName = "AddServiceImpl",targetNamespace="http://xxx/xxx/services/addService")这样的@WebService注释中定义targetNameSpave,否则bpel将显示您提到的相同错误。

票数 1
EN

Stack Overflow用户

发布于 2013-10-28 16:48:47

谢谢@GregHNZ的回复。我不明白其中的某些部分,这有助于我评估,我不会像我想的那样轻易地执行这个任务。这是我的把戏。我将划分BPEL应用程序。目前我只是专注于DSS (数据服务电话)。customerDS的wsdl文件可以在下面找到。我只是想从BPEL中打个电话,要求DSS为给定的客户获取详细信息。如果客户不在,请创建一个条目并将其发回给我。(这是MySQL上的过程)。这很好,因为我已经测试过了。因此,这里有一个简单的问题,关于如何创建一个BPEL工作流来调用DSS。这将帮助我获得基本知识。谢谢!PS: customerDS.wsdl

代码语言:javascript
复制
<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>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19627966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档