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>当我点击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}发布于 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中要查找的字段时,如下所示:
<ns0:op1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ns0:NID/>
<ns0:Name/>
</ns0:op1>它正在寻找元素op1、NID和Name元素在http://ws.wso2.org/dataservice命名空间中。
但那实际上是
因为您正在使用一个工具来获取输入,所以修正点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类型。
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文件包括以下创业板:
<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行)似乎是问题所在:
<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),您可以找到一种方法将该副本从元素更改为以下内容:
<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有时会更快。
发布于 2013-11-05 15:36:16
在定义jax-ws服务项目时,所提到的GregHNZ是完全正确的,您需要在@WebService(serviceName = "AddServiceImpl",targetNamespace="http://xxx/xxx/services/addService")这样的@WebService注释中定义targetNameSpave,否则bpel将显示您提到的相同错误。
发布于 2013-10-28 16:48:47
谢谢@GregHNZ的回复。我不明白其中的某些部分,这有助于我评估,我不会像我想的那样轻易地执行这个任务。这是我的把戏。我将划分BPEL应用程序。目前我只是专注于DSS (数据服务电话)。customerDS的wsdl文件可以在下面找到。我只是想从BPEL中打个电话,要求DSS为给定的客户获取详细信息。如果客户不在,请创建一个条目并将其发回给我。(这是MySQL上的过程)。这很好,因为我已经测试过了。因此,这里有一个简单的问题,关于如何创建一个BPEL工作流来调用DSS。这将帮助我获得基本知识。谢谢!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>https://stackoverflow.com/questions/19627966
复制相似问题