描述如下:
public class TestBean1{
private String content;
public String getContent()
{
return content;
}
public void setContent()
{
this.content=content;
}}
public class TestBean2{
public TestBean1 testBean1; public String getContent(TestBean1 testBean)
{
this.testBean1=testBean;
String content=testBean1.getContent();
return content;
}
public TestBean1 getTestBean1(String content)
{
TestBean1 tb = new TestBean1();
tb.setContent(content);
return tb;
}
}
现在把TestBean2使用axis发布,wsdl文件如下:
<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions targetNamespace="http://localhost:8010/axis/services/TestBeanService" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8010/axis/services/TestBeanService" xmlns:intf="http://localhost:8010/axis/services/TestBeanService" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http://DefaultNamespace" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <!--
WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT) -->
- <wsdl:types>
- <schema targetNamespace="http://DefaultNamespace" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
- <complexType name="TestBean1">
- <sequence>
<element name="content" nillable="true" type="xsd:string" />
</sequence>
</complexType>
</schema>
</wsdl:types>
- <wsdl:message name="getTestBean1Request">
<wsdl:part name="in0" type="xsd:string" />
</wsdl:message>
- <wsdl:message name="getContentRequest">
<wsdl:part name="in0" type="tns1:TestBean1" />
</wsdl:message>
- <wsdl:message name="getTestBean1Response">
<wsdl:part name="getTestBean1Return" type="tns1:TestBean1" />
</wsdl:message>
- <wsdl:message name="getContentResponse">
<wsdl:part name="getContentReturn" type="xsd:string" />
</wsdl:message>
- <wsdl:portType name="TestBean2">
- <wsdl:operation name="getContent" parameterOrder="in0">
<wsdl:input message="impl:getContentRequest" name="getContentRequest" />
<wsdl:output message="impl:getContentResponse" name="getContentResponse" />
</wsdl:operation>
- <wsdl:operation name="getTestBean1" parameterOrder="in0">
<wsdl:input message="impl:getTestBean1Request" name="getTestBean1Request" />
<wsdl:output message="impl:getTestBean1Response" name="getTestBean1Response" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="TestBeanServiceSoapBinding" type="impl:TestBean2">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="getContent">
<wsdlsoap:operation soapAction="" />
- <wsdl:input name="getContentRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded" />
</wsdl:input>
- <wsdl:output name="getContentResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8010/axis/services/TestBeanService" use="encoded" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="getTestBean1">
<wsdlsoap:operation soapAction="" />
- <wsdl:input name="getTestBean1Request">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded" />
</wsdl:input>
- <wsdl:output name="getTestBean1Response">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8010/axis/services/TestBeanService" use="encoded" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="TestBean2Service">
- <wsdl:port binding="impl:TestBeanServiceSoapBinding" name="TestBeanService">
<wsdlsoap:address location="http://localhost:8010/axis/services/TestBeanService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>我在BPEL中要调用到TestBeanService这个服务,其中两个方法一个是输入为复杂类型,一个是返回为复杂类型,请问我在bpel中该怎样定义变量来处理这些复杂类型呢?谢谢!!
public class TestBean1{
private String content;
public String getContent()
{
return content;
}
public void setContent()
{
this.content=content;
}}
public class TestBean2{
public TestBean1 testBean1; public String getContent(TestBean1 testBean)
{
this.testBean1=testBean;
String content=testBean1.getContent();
return content;
}
public TestBean1 getTestBean1(String content)
{
TestBean1 tb = new TestBean1();
tb.setContent(content);
return tb;
}
}
现在把TestBean2使用axis发布,wsdl文件如下:
<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions targetNamespace="http://localhost:8010/axis/services/TestBeanService" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8010/axis/services/TestBeanService" xmlns:intf="http://localhost:8010/axis/services/TestBeanService" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http://DefaultNamespace" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <!--
WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT) -->
- <wsdl:types>
- <schema targetNamespace="http://DefaultNamespace" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
- <complexType name="TestBean1">
- <sequence>
<element name="content" nillable="true" type="xsd:string" />
</sequence>
</complexType>
</schema>
</wsdl:types>
- <wsdl:message name="getTestBean1Request">
<wsdl:part name="in0" type="xsd:string" />
</wsdl:message>
- <wsdl:message name="getContentRequest">
<wsdl:part name="in0" type="tns1:TestBean1" />
</wsdl:message>
- <wsdl:message name="getTestBean1Response">
<wsdl:part name="getTestBean1Return" type="tns1:TestBean1" />
</wsdl:message>
- <wsdl:message name="getContentResponse">
<wsdl:part name="getContentReturn" type="xsd:string" />
</wsdl:message>
- <wsdl:portType name="TestBean2">
- <wsdl:operation name="getContent" parameterOrder="in0">
<wsdl:input message="impl:getContentRequest" name="getContentRequest" />
<wsdl:output message="impl:getContentResponse" name="getContentResponse" />
</wsdl:operation>
- <wsdl:operation name="getTestBean1" parameterOrder="in0">
<wsdl:input message="impl:getTestBean1Request" name="getTestBean1Request" />
<wsdl:output message="impl:getTestBean1Response" name="getTestBean1Response" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="TestBeanServiceSoapBinding" type="impl:TestBean2">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="getContent">
<wsdlsoap:operation soapAction="" />
- <wsdl:input name="getContentRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded" />
</wsdl:input>
- <wsdl:output name="getContentResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8010/axis/services/TestBeanService" use="encoded" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="getTestBean1">
<wsdlsoap:operation soapAction="" />
- <wsdl:input name="getTestBean1Request">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://DefaultNamespace" use="encoded" />
</wsdl:input>
- <wsdl:output name="getTestBean1Response">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8010/axis/services/TestBeanService" use="encoded" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="TestBean2Service">
- <wsdl:port binding="impl:TestBeanServiceSoapBinding" name="TestBeanService">
<wsdlsoap:address location="http://localhost:8010/axis/services/TestBeanService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>我在BPEL中要调用到TestBeanService这个服务,其中两个方法一个是输入为复杂类型,一个是返回为复杂类型,请问我在bpel中该怎样定义变量来处理这些复杂类型呢?谢谢!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货