hi ,everyone,I use wtp-all-in-one-eclipse(eclipse+axis) created web services,and i use IBM websphere studio Application develop Integration to create BPEL.once i invoke the web service ,I got the wrong message "org.xml.sax.SAXException: Bad types (class java.lang.String -> int)"
my wsdl as the follow:<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://proty01" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://proty01" xmlns:intf="http://proty01" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 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.3
Built on Oct 05, 2005 (05:23:37 EDT)-->
<wsdl:message name="materialChooseRequest">
<wsdl:part name="id" type="xsd:int"/>
<wsdl:part name="material" type="xsd:int"/>
<wsdl:part name="quantity" type="xsd:int"/>
<wsdl:part name="rcdl" type="xsd:double"/>
<wsdl:part name="str" type="xsd:double"/>
<wsdl:part name="mc" type="xsd:string"/>
<wsdl:part name="price" type="xsd:double"/>
</wsdl:message>
<wsdl:message name="materialChooseResponse">
<wsdl:part name="materialChooseReturn" type="xsd:int"/>
<wsdl:part name="id" type="xsd:int"/>
<wsdl:part name="mc" type="xsd:string"/>
<wsdl:part name="price" type="xsd:double"/>
</wsdl:message>
<wsdl:portType name="MC1">
<wsdl:operation name="materialChoose" parameterOrder="id material quantity rcdl str mc price">
<wsdl:input message="impl:materialChooseRequest" name="materialChooseRequest"/>
<wsdl:output message="impl:materialChooseResponse" name="materialChooseResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="MC1SoapBinding" type="impl:MC1">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="materialChoose">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="materialChooseRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://proty01" use="encoded"/>
</wsdl:input>
<wsdl:output name="materialChooseResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://proty01" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="MC1Service">
<wsdl:port binding="impl:MC1SoapBinding" name="MC1">
<wsdlsoap:address location="http://192.168.8.87:8080/WebServices/services/MC1"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
myBPEL as follows:
<?xml version="1.0" encoding="UTF-8"?>
<process expressionLanguage="Java" name="MC11" suppressJoinFailure="yes"
targetNamespace="http://www.example.com/process30429325"
wpc:autoDelete="no" wpc:businessRelevant="yes"
wpc:compensationSphere="supports" wpc:displayName="MC11"
wpc:executionMode="microflow" wpc:validFrom="2003-01-01T00:00:00"
xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:wpc="http://www.ibm.com/xmlns/prod/websphere/business-process/v5.1/"
xmlns:wsdl="http://www.example.com/process30429325/interface"
xmlns:wsdl0="http://www.example.com/process30429325"
xmlns:wsdl1="http://proty01"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap.org/ws/2003/03/business-process/
http://schemas.xmlsoap.org/ws/2003/03/business-process/"> <partnerLinks>
<partnerLink myRole="NewPortTypeRole" name="NewPortType" partnerLinkType="wsdl0:NewPortTypeLT"/>
<partnerLink name="MC1" partnerLinkType="wsdl0:MC1LT" partnerRole="MC1Role"/>
</partnerLinks>
<variables>
<variable messageType="wsdl:NewOperationRequest" name="proReq"/>
<variable messageType="wsdl:NewOperationResponse" name="proResp"/>
<variable messageType="wsdl1:materialChooseRequest" name="mcReq"/>
<variable messageType="wsdl1:materialChooseResponse" name="mcResp"/>
</variables>
<sequence name="Sequence" wpc:displayName="Sequence" wpc:id="1073741825">
<receive createInstance="yes" name="Receive"
operation="NewOperation" partnerLink="NewPortType"
portType="wsdl:NewPortType" variable="proReq"
wpc:displayName="Receive" wpc:id="2"/>
<assign name="Assign" wpc:displayName="Assign" wpc:id="5">
<copy>
<from part="ID" variable="proReq"/>
<to part="id" variable="mcReq"/>
</copy>
<copy>
<from part="METARIAL" variable="proReq"/>
<to part="material" variable="mcReq"/>
</copy>
<copy>
<from part="quantity" variable="proReq"/>
<to part="quantity" variable="mcReq"/>
</copy>
<copy>
<from part="rcdl" variable="proReq"/>
<to part="rcdl" variable="mcReq"/>
</copy>
<copy>
<from part="str" variable="proReq"/>
<to part="str" variable="mcReq"/>
</copy>
<copy>
<from part="mc" variable="proReq"/>
<to part="mc" variable="mcReq"/>
</copy>
<copy>
<from part="price" variable="proReq"/>
<to part="price" variable="mcReq"/>
</copy>
</assign>
<invoke inputVariable="mcReq" name="Invoke"
operation="materialChoose" outputVariable="mcResp"
partnerLink="MC1" portType="wsdl1:MC1"
wpc:displayName="Invoke" wpc:id="4"/>
<assign name="Assign1" wpc:displayName="Assign1" wpc:id="6">
<copy>
<from part="id" variable="mcResp"/>
<to part="id" variable="proResp"/>
</copy>
<copy>
<from part="materialChooseReturn" variable="mcResp"/>
<to part="mreturn" variable="proResp"/>
</copy>
<copy>
<from part="mc" variable="mcResp"/>
<to part="mc" variable="proResp"/>
</copy>
<copy>
<from part="price" variable="mcResp"/>
<to part="price" variable="proResp"/>
</copy>
</assign>
<reply name="Reply" operation="NewOperation"
partnerLink="NewPortType" portType="wsdl:NewPortType"
variable="proResp" wpc:displayName="Reply" wpc:id="3"/>
</sequence>
</process>
Iam very vexatious,because sometimes it's ok, sometimes it got the wrong message "badtype".if all of the parameter are int,there is nothing wrong.i don't know why. help me ,please! i am dysphoric,because i have to hand in the work in wednesday,please !