对于 WSO2 BPS 专家,我有一个非常有趣的挑战。我们正在尝试开发一种功能,通过单击按钮将高级模型转换为 WSO2 的工作流程。reqd 文件(.bpel、.wsdl、任何外部文件、deploy.xml)似乎生成得很好。然而问题是当我尝试上传压缩文件时它会抛出异常
找不到调用服务 { http://dummyserviceinterface.services.mycompany.com/ }DummyServiceInterface 的 WSDL 定义。在 BPEL 包 ExtractSocialNetworkProcess-2 中找不到所需资源。
我花了 2 天时间试图弄清楚这一点(已审查的命名空间、合作伙伴链接、导入等)并找到阻止 zip 文件部署的问题。我还尝试在 WSO2 Studio 中重新创建完全相同的工作流程,令我惊讶的是,WSO2 Studio 生成的 zip 文件似乎部署得很好。现在最大的问题是“当我们生成文件时我错过了什么......”如果你比较两组文件,它们非常相同,但它是如此奇怪以至于一个部署而另一个没有部署。由于我无法附加 zip 文件,我将在下面列出各个文件的内容供您参考...谢谢,我们将不胜感激
ExtractSocialNetworkProcess.bpel [从我们的工具生成]
<process xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:client="http://wso2.org/bps/samples/ExtractSocialNetworkProcess"
xmlns:ns1="http://dummyserviceinterface.services.mycompany.com/"
xmlns:sxed="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Editor"
xmlns:sxt="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Trace"
xmlns:tns="http://wso2.org/bps/samples/ExtractSocialNetworkProcess"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
name="ExtractSocialNetworkProcess"
suppressJoinFailure="yes"
targetNamespace="http://wso2.org/bps/samples/ExtractSocialNetworkProcess">
<import namespace="http://wso2.org/bps/samples/ExtractSocialNetworkProcess" location="ExtractSocialNetworkProcess.wsdl" importType="http://schemas.xmlsoap.org/wsdl/" />
<import namespace="http://dummyserviceinterface.services.mycompany.com/" location="DummyServiceInterfaceSchema.wsdl" importType="http://schemas.xmlsoap.org/wsdl/" />
<partnerLinks>
<partnerLink name="client" partnerLinkType="client:ExtractSocialNetworkProcess" myRole="ExtractSocialNetworkProcessProvider" />
<partnerLink name="DummyServiceInterface" partnerLinkType="client:DummyServiceInterfacePL" partnerRole="DummyServiceInterfaceRole" />
</partnerLinks>
<variables>
<variable name="inputVariable" messageType="client:ExtractSocialNetworkProcessRequestMessage" />
<variable name="outputVariable" messageType="client:ExtractSocialNetworkProcessResponseMessage" />
<variable name="InvokeESNService_extractSocialNetwork_InputVariable" messageType="ns1:extractSocialNetwork" />
<variable name="InvokeESNService_extractSocialNetwork_OutputVariable" messageType="ns1:extractSocialNetworkResponse" />
</variables>
<sequence name="main">
<receive name="receiveInput" partnerLink="client" portType="client:ExtractSocialNetworkProcess" operation="process" variable="inputVariable" createInstance="yes" />
<scope name="ExtractSocialNetworkProcess">
<sequence>
<assign name="Mapping_InvokeESNService_Inputs">
<copy>
<from>$inputVariable.payload/client:input</from>
<to variable="InvokeESNService_extractSocialNetwork_InputVariable" part="arg0" />
</copy>
</assign>
<invoke name="InvokeESNService" partnerLink="DummyServiceInterface" portType="ns1:DummyServiceInterface" operation="extractSocialNetwork" inputVariable="InvokeESNService_extractSocialNetwork_InputVariable" outputVariable="InvokeESNService_extractSocialNetwork_OutputVariable" />
<assign name="AssignOutputParams">
<copy>
<from>
<literal>
<client:ExtractSocialNetworkProcessProcessResponse xmlns:client="http://wso2.org/bps/samples/ExtractSocialNetworkProcess" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<client:output>testing</client:output>
</client:ExtractSocialNetworkProcessProcessResponse>
</literal>
</from>
<to variable="outputVariable" part="payload"></to>
</copy>
<copy>
<from variable="InvokeESNService_extractSocialNetwork_OutputVariable" part="return" />
<to>$outputVariable.payload/client:output</to>
</copy>
</assign>
</sequence>
</scope>
<reply name="replyOutput" partnerLink="client" portType="client:ExtractSocialNetworkProcess" operation="process" variable="outputVariable" />
</sequence>
</process>
ExtractSocialNetworkProcess.wsdl [从我们的工具生成]
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/varprop"
xmlns:client="http://wso2.org/bps/samples/ExtractSocialNetworkProcess"
xmlns:ns1="http://dummyserviceinterface.services.mycompany.com/"
xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://wso2.org/bps/samples/ExtractSocialNetworkProcess"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
name="ExtractSocialNetworkProcess"
targetNamespace="http://wso2.org/bps/samples/ExtractSocialNetworkProcess">
<plnk:partnerLinkType name="DummyServiceInterfacePL">
<plnk:role name="DummyServiceInterfaceRole" portType="ns1:DummyServiceInterface" />
</plnk:partnerLinkType>
<import location="DummyServiceInterfaceSchema.wsdl" namespace="http://dummyserviceinterface.services.mycompany.com/"/>
<import location="DummyServiceInterface.wsdl" namespace="http://dummyserviceinterface.services.mycompany.com/"/>
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://wso2.org/bps/samples/ExtractSocialNetworkProcess">
<element name="ExtractSocialNetworkProcessProcessRequest">
<complexType>
<sequence>
<element name="input" type="string" />
</sequence>
</complexType>
</element>
<element name="ExtractSocialNetworkProcessProcessResponse">
<complexType>
<sequence>
<element name="output" type="string" />
</sequence>
</complexType>
</element>
</schema>
</types>
<message name="ExtractSocialNetworkProcessRequestMessage">
<part name="payload" element="client:ExtractSocialNetworkProcessProcessRequest" />
</message>
<message name="ExtractSocialNetworkProcessResponseMessage">
<part name="payload" element="client:ExtractSocialNetworkProcessProcessResponse" />
</message>
<portType name="ExtractSocialNetworkProcess">
<operation name="process">
<input message="client:ExtractSocialNetworkProcessRequestMessage" />
<output message="client:ExtractSocialNetworkProcessResponseMessage" />
</operation>
</portType>
<plnk:partnerLinkType name="ExtractSocialNetworkProcess">
<plnk:role name="ExtractSocialNetworkProcessProvider" portType="client:ExtractSocialNetworkProcess" />
</plnk:partnerLinkType>
<binding name="ExtractSocialNetworkProcessBinding" type="client:ExtractSocialNetworkProcess">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="process">
<soap:operation soapAction="http://wso2.org/bps/samples/ExtractSocialNetworkProcess" />
<input >
<soap:body use="literal" />
</input>
<output >
<soap:body use="literal" />
</output>
</operation>
</binding>
<service name="ExtractSocialNetworkProcessService">
<port name="ExtractSocialNetworkProcessPort" binding="client:ExtractSocialNetworkProcessBinding">
<soap:address location="http://localhost:9763/services/ExtractSocialNetworkProcessService" />
</port>
</service>
</definitions>
deploy.xml [从我们的工具自动生成]
<?xml version="1.0" encoding="UTF-8"?>
<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03" xmlns:ns1="http://dummyserviceinterface.services.mycompany.com/" xmlns:tns="http://wso2.org/bps/samples/ExtractSocialNetworkProcess">
<process name="tns:ExtractSocialNetworkProcess">
<active>true</active>
<retired>false</retired>
<process-events generate="all"/>
<provide partnerLink="client">
<service name="tns:ExtractSocialNetworkProcessService" port="ExtractSocialNetworkProcessPort" />
</provide>
<invoke partnerLink="DummyServiceInterface">
<service name="ns1:DummyServiceInterface" port="DummyServiceImplPort" />
</invoke>
</process>
</deploy>
DummyServiceInterface.wsdl [工作流程中使用的第三方 wsdl]
<?xml version="1.0" encoding="UTF-8"?>
<!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Metro/2.2-b13 (branches/2.2-6964; 2012-01-09T18:04:18+0000) JAXWS-RI/2.2.6-promoted-b20 JAXWS/2.2 svn-revision#unknown. -->
<!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Metro/2.2-b13 (branches/2.2-6964; 2012-01-09T18:04:18+0000) JAXWS-RI/2.2.6-promoted-b20 JAXWS/2.2 svn-revision#unknown. -->
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://dummyserviceimpl.services.mycompany.com/" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://dummyserviceimpl.services.mycompany.com/" name="DummyServiceInterface">
<import namespace="http://dummyserviceinterface.services.mycompany.com/" location="DummyServiceInterfaceSchema.wsdl" />
<binding xmlns:ns1="http://dummyserviceinterface.services.mycompany.com/" name="DummyServiceImplPortBinding" type="ns1:DummyServiceInterface">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc" />
<operation name="extractSocialNetwork">
<soap:operation soapAction="" />
<input>
<soap:body use="literal" namespace="http://dummyserviceinterface.services.mycompany.com/" />
</input>
<output>
<soap:body use="literal" namespace="http://dummyserviceinterface.services.mycompany.com/" />
</output>
</operation>
<operation name="extractTopics">
<soap:operation soapAction="" />
<input>
<soap:body use="literal" namespace="http://dummyserviceinterface.services.mycompany.com/" />
</input>
<output>
<soap:body use="literal" namespace="http://dummyserviceinterface.services.mycompany.com/" />
</output>
</operation>
<operation name="extractEvents">
<soap:operation soapAction="" />
<input>
<soap:body use="literal" namespace="http://dummyserviceinterface.services.mycompany.com/" />
</input>
<output>
<soap:body use="literal" namespace="http://dummyserviceinterface.services.mycompany.com/" />
</output>
</operation>
<operation name="extractSentiment">
<soap:operation soapAction="" />
<input>
<soap:body use="literal" namespace="http://dummyserviceinterface.services.mycompany.com/" />
</input>
<output>
<soap:body use="literal" namespace="http://dummyserviceinterface.services.mycompany.com/" />
</output>
</operation>
<operation name="translateOntologies">
<soap:operation soapAction="" />
<input>
<soap:body use="literal" namespace="http://dummyserviceinterface.services.mycompany.com/" />
</input>
<output>
<soap:body use="literal" namespace="http://dummyserviceinterface.services.mycompany.com/" />
</output>
</operation>
<operation name="translateSchemas">
<soap:operation soapAction="" />
<input>
<soap:body use="literal" namespace="http://dummyserviceinterface.services.mycompany.com/" />
</input>
<output>
<soap:body use="literal" namespace="http://dummyserviceinterface.services.mycompany.com/" />
</output>
</operation>
<operation name="saveToDB">
<soap:operation soapAction="" />
<input>
<soap:body use="literal" namespace="http://dummyserviceinterface.services.mycompany.com/" />
</input>
<output>
<soap:body use="literal" namespace="http://dummyserviceinterface.services.mycompany.com/" />
</output>
</operation>
</binding>
<service name="DummyServiceInterface">
<port name="DummyServiceImplPort" binding="tns:DummyServiceImplPortBinding">
<soap:address location="http://dev-irpg-stds:8080/dummyServiceImpl/DummyServiceInterface" />
</port>
</service>
</definitions>
DummyServiceInterfaceSchema.wsdl [由于第三方服务是使用dotnet和metro stack创建的,它分为两部分(一个是Binding + Service,另一个是Msgs和Porttype)
<?xml version='1.0' encoding='UTF-8'?><definitions xmlns:tns="http://dummyserviceinterface.services.mycompany.com/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://dummyserviceinterface.services.mycompany.com/">
<types/>
<message name="extractSocialNetwork">
<part name="arg0" type="xsd:string"/>
</message>
<message name="extractSocialNetworkResponse">
<part name="return" type="xsd:string"/>
</message>
<message name="extractTopics">
<part name="arg0" type="xsd:string"/>
<part name="arg1" type="xsd:string"/>
</message>
<message name="extractTopicsResponse">
<part name="return" type="xsd:string"/>
</message>
<message name="extractEvents">
<part name="arg0" type="xsd:string"/>
<part name="arg1" type="xsd:string"/>
</message>
<message name="extractEventsResponse">
<part name="return" type="xsd:string"/>
</message>
<message name="extractSentiment">
<part name="arg0" type="xsd:string"/>
<part name="arg1" type="xsd:string"/>
</message>
<message name="extractSentimentResponse">
<part name="return" type="xsd:string"/>
</message>
<message name="translateOntologies">
<part name="arg0" type="xsd:string"/>
<part name="arg1" type="xsd:string"/>
</message>
<message name="translateOntologiesResponse">
<part name="return" type="xsd:string"/>
</message>
<message name="translateSchemas">
<part name="arg0" type="xsd:string"/>
<part name="arg1" type="xsd:string"/>
<part name="arg2" type="xsd:string"/>
<part name="arg3" type="xsd:string"/>
</message>
<message name="translateSchemasResponse">
<part name="return" type="xsd:string"/>
</message>
<message name="saveToDB">
<part name="arg0" type="xsd:string"/>
<part name="arg1" type="xsd:string"/>
</message>
<message name="saveToDBResponse">
<part name="return" type="xsd:string"/>
</message>
<portType name="DummyServiceInterface">
<operation name="extractSocialNetwork">
<input xmlns:ns1="http://www.w3.org/2007/05/addressing/metadata" ns1:Action="http://dummyserviceinterface.services.mycompany.com/DummyServiceInterface/extractSocialNetworkRequest" message="tns:extractSocialNetwork"/>
<output xmlns:ns2="http://www.w3.org/2007/05/addressing/metadata" ns2:Action="http://dummyserviceinterface.services.mycompany.com/DummyServiceInterface/extractSocialNetworkResponse" message="tns:extractSocialNetworkResponse"/>
</operation>
<operation name="extractTopics" parameterOrder="arg0 arg1">
<input xmlns:ns3="http://www.w3.org/2007/05/addressing/metadata" ns3:Action="http://dummyserviceinterface.services.mycompany.com/DummyServiceInterface/extractTopicsRequest" message="tns:extractTopics"/>
<output xmlns:ns4="http://www.w3.org/2007/05/addressing/metadata" ns4:Action="http://dummyserviceinterface.services.mycompany.com/DummyServiceInterface/extractTopicsResponse" message="tns:extractTopicsResponse"/>
</operation>
<operation name="extractEvents" parameterOrder="arg0 arg1">
<input xmlns:ns5="http://www.w3.org/2007/05/addressing/metadata" ns5:Action="http://dummyserviceinterface.services.mycompany.com/DummyServiceInterface/extractEventsRequest" message="tns:extractEvents"/>
<output xmlns:ns6="http://www.w3.org/2007/05/addressing/metadata" ns6:Action="http://dummyserviceinterface.services.mycompany.com/DummyServiceInterface/extractEventsResponse" message="tns:extractEventsResponse"/>
</operation>
<operation name="extractSentiment" parameterOrder="arg0 arg1">
<input xmlns:ns7="http://www.w3.org/2007/05/addressing/metadata" ns7:Action="http://dummyserviceinterface.services.mycompany.com/DummyServiceInterface/extractSentimentRequest" message="tns:extractSentiment"/>
<output xmlns:ns8="http://www.w3.org/2007/05/addressing/metadata" ns8:Action="http://dummyserviceinterface.services.mycompany.com/DummyServiceInterface/extractSentimentResponse" message="tns:extractSentimentResponse"/>
</operation>
<operation name="translateOntologies" parameterOrder="arg0 arg1">
<input xmlns:ns9="http://www.w3.org/2007/05/addressing/metadata" ns9:Action="http://dummyserviceinterface.services.mycompany.com/DummyServiceInterface/translateOntologiesRequest" message="tns:translateOntologies"/>
<output xmlns:ns10="http://www.w3.org/2007/05/addressing/metadata" ns10:Action="http://dummyserviceinterface.services.mycompany.com/DummyServiceInterface/translateOntologiesResponse" message="tns:translateOntologiesResponse"/>
</operation>
<operation name="translateSchemas" parameterOrder="arg0 arg1 arg2 arg3">
<input xmlns:ns11="http://www.w3.org/2007/05/addressing/metadata" ns11:Action="http://dummyserviceinterface.services.mycompany.com/DummyServiceInterface/translateSchemasRequest" message="tns:translateSchemas"/>
<output xmlns:ns12="http://www.w3.org/2007/05/addressing/metadata" ns12:Action="http://dummyserviceinterface.services.mycompany.com/DummyServiceInterface/translateSchemasResponse" message="tns:translateSchemasResponse"/>
</operation>
<operation name="saveToDB" parameterOrder="arg0 arg1">
<input xmlns:ns13="http://www.w3.org/2007/05/addressing/metadata" ns13:Action="http://dummyserviceinterface.services.mycompany.com/DummyServiceInterface/saveToDBRequest" message="tns:saveToDB"/>
<output xmlns:ns14="http://www.w3.org/2007/05/addressing/metadata" ns14:Action="http://dummyserviceinterface.services.mycompany.com/DummyServiceInterface/saveToDBResponse" message="tns:saveToDBResponse"/>
</operation>
</portType>
</definitions>
ExtractSocialNetworkProcess.bpel [由 WSO2 工作室生成]
<!-- ExtractSocialNetworkProcess BPEL Process [Generated by the Eclipse BPEL Designer] -->
<!-- Date: Mon Mar 05 12:13:11 IST 2012 -->
<bpel:process name="ExtractSocialNetworkProcess"
targetNamespace="http://wso2.org/bps/sample"
suppressJoinFailure="yes"
xmlns:tns="http://wso2.org/bps/sample"
xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:ns="http://dummyserviceinterface.services.mycompany.com/" xmlns:ns1="http://www.w3.org/2001/XMLSchema">
<!-- Import the client WSDL -->
<bpel:import namespace="http://dummyserviceinterface.services.mycompany.com/" location="DummyServiceInterfaceSchema.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"></bpel:import>
<bpel:import location="ExtractSocialNetworkProcessArtifacts.wsdl" namespace="http://wso2.org/bps/sample"
importType="http://schemas.xmlsoap.org/wsdl/" />
<!-- ================================================================= -->
<!-- PARTNERLINKS -->
<!-- List of services participating in this BPEL process -->
<!-- ================================================================= -->
<bpel:partnerLinks>
<!-- The 'client' role represents the requester of this service. -->
<bpel:partnerLink name="client"
partnerLinkType="tns:ExtractSocialNetworkProcess"
myRole="ExtractSocialNetworkProcessProvider"
/>
<bpel:partnerLink name="DummyServiceInterfacePL" partnerLinkType="tns:DummyServiceInterfacePLType" partnerRole="DummyServiceInterfaceRole"></bpel:partnerLink>
</bpel:partnerLinks>
<!-- ================================================================= -->
<!-- VARIABLES -->
<!-- List of messages and XML documents used within this BPEL process -->
<!-- ================================================================= -->
<bpel:variables>
<!-- Reference to the message passed as input during initiation -->
<bpel:variable name="input" messageType="tns:ExtractSocialNetworkProcessRequestMessage"/>
<!--
Reference to the message that will be returned to the requester
-->
<bpel:variable name="output" messageType="tns:ExtractSocialNetworkProcessResponseMessage"/>
<bpel:variable name="DummyServiceInterfacePLResponse" messageType="ns:extractSocialNetworkResponse"></bpel:variable>
<bpel:variable name="DummyServiceInterfacePLRequest" messageType="ns:extractSocialNetwork"></bpel:variable>
<bpel:variable name="temp" type="ns1:string"></bpel:variable>
</bpel:variables>
<!-- ================================================================= -->
<!-- ORCHESTRATION LOGIC -->
<!-- Set of activities coordinating the flow of messages across the -->
<!-- services integrated within this business process -->
<!-- ================================================================= -->
<bpel:sequence name="main">
<!-- Receive input from requester.
Note: This maps to operation defined in ExtractSocialNetworkProcess.wsdl
-->
<bpel:receive name="receiveInput" partnerLink="client"
portType="tns:ExtractSocialNetworkProcess"
operation="process" variable="input"
createInstance="yes"/>
<!-- Generate reply to synchronous request -->
<bpel:assign validate="no" name="AssignInputParams">
<bpel:copy>
<bpel:from part="payload" variable="input">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[tns:input]]></bpel:query>
</bpel:from>
<bpel:to part="arg0" variable="DummyServiceInterfacePLRequest"></bpel:to>
</bpel:copy>
</bpel:assign>
<bpel:invoke name="InvokeESNService" partnerLink="DummyServiceInterfacePL" operation="extractSocialNetwork" portType="ns:DummyServiceInterface" inputVariable="DummyServiceInterfacePLRequest" outputVariable="DummyServiceInterfacePLResponse"></bpel:invoke>
<bpel:assign validate="no" name="AssignOutputParams">
<bpel:copy>
<bpel:from>
<bpel:literal>
<tns:ExtractSocialNetworkProcessResponse xmlns:tns="http://wso2.org/bps/sample" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><tns:result>tns:result</tns:result>
</tns:ExtractSocialNetworkProcessResponse>
</bpel:literal>
</bpel:from>
<bpel:to variable="output" part="payload"></bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from part="return" variable="DummyServiceInterfacePLResponse"></bpel:from>
<bpel:to part="payload" variable="output">
<bpel:query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[tns:result]]></bpel:query>
</bpel:to>
</bpel:copy>
</bpel:assign>
<bpel:reply name="replyOutput"
partnerLink="client"
portType="tns:ExtractSocialNetworkProcess"
operation="process"
variable="output"
/>
</bpel:sequence>
</bpel:process>
ExtractSocialNetworkProcessArtifacts.wsdl [由 WSO2 工作室生成]
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://wso2.org/bps/sample"
xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop"
xmlns:wsdl="http://dummyserviceinterface.services.mycompany.com/"
name="ExtractSocialNetworkProcess"
targetNamespace="http://wso2.org/bps/sample">
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TYPE DEFINITION - List of types participating in this BPEL process
The BPEL Designer will generate default request and response types
but you can define or import any XML Schema type and use them as part
of the message types.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<plnk:partnerLinkType name="DummyServiceInterfacePLType">
<plnk:role name="DummyServiceInterfaceRole" portType="wsdl:DummyServiceInterface"/>
</plnk:partnerLinkType>
<import location="DummyServiceInterfaceSchema.wsdl" namespace="http://dummyserviceinterface.services.mycompany.com/"/>
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://wso2.org/bps/sample">
<element name="ExtractSocialNetworkProcessRequest">
<complexType>
<sequence>
<element name="input" type="string"/>
</sequence>
</complexType>
</element>
<element name="ExtractSocialNetworkProcessResponse">
<complexType>
<sequence>
<element name="result" type="string"/>
</sequence>
</complexType>
</element>
</schema>
</types>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MESSAGE TYPE DEFINITION - Definition of the message types used as
part of the port type defintions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<message name="ExtractSocialNetworkProcessRequestMessage">
<part element="tns:ExtractSocialNetworkProcessRequest" name="payload"/>
</message>
<message name="ExtractSocialNetworkProcessResponseMessage">
<part element="tns:ExtractSocialNetworkProcessResponse" name="payload"/>
</message>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PORT TYPE DEFINITION - A port type groups a set of operations into
a logical service unit.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- portType implemented by the ExtractSocialNetworkProcess BPEL process -->
<portType name="ExtractSocialNetworkProcess">
<operation name="process">
<input message="tns:ExtractSocialNetworkProcessRequestMessage"/>
<output message="tns:ExtractSocialNetworkProcessResponseMessage"/>
</operation>
</portType>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PARTNER LINK TYPE DEFINITION
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<plnk:partnerLinkType name="ExtractSocialNetworkProcess">
<plnk:role name="ExtractSocialNetworkProcessProvider" portType="tns:ExtractSocialNetworkProcess"/>
</plnk:partnerLinkType>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BINDING DEFINITION - Defines the message format and protocol details
for a web service.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<binding name="ExtractSocialNetworkProcessBinding" type="tns:ExtractSocialNetworkProcess">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="process">
<soap:operation soapAction="http://wso2.org/bps/sample/process"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SERVICE DEFINITION - A service groups a set of ports into
a service unit.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<service name="ExtractSocialNetworkProcess">
<port binding="tns:ExtractSocialNetworkProcessBinding" name="ExtractSocialNetworkProcessPort">
<soap:address location="http://localhost:8080/ExtractSocialNetworkProcess"/>
</port>
</service>
</definitions>
deploy.xml [由 WSO2 工作室生成]
<?xml version="1.0" encoding="UTF-8"?>
<deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
xmlns:dummyserviceimpl.services.mycompany.com="http://dummyserviceimpl.services.mycompany.com/"
xmlns:sample="http://wso2.org/bps/sample">
<process name="sample:ExtractSocialNetworkProcess">
<active>true</active>
<retired>false</retired>
<process-events generate="all"/>
<provide partnerLink="client">
<service name="sample:ExtractSocialNetworkProcess" port="ExtractSocialNetworkProcessPort"/>
</provide>
<invoke partnerLink="DummyServiceInterfacePL">
<service name="dummyserviceimpl.services.mycompany.com:DummyServiceInterface" port="DummyServiceImplPort"/>
</invoke>
</process>
</deploy>