I tried to call web service from jboss 5 alpha version ( latest CVS checkout).It just too hard to call web service from flex. After I spend couple of hour and i found something.
here is the soap request from SOAP monitor. It is failed version. ---------------------------------------- <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <SOAP-ENV:Body xmlns:ns0="http://www.slickbeans.com/MyWebService"> <ns0:setMyObj> <myObj> <ns0:myInt>100</ns0:myInt> <ns0:myString>hello</ns0:myString> <ns0:myBoolean>true</ns0:myBoolean> </myObj> </ns0:setMyObj> </SOAP-ENV:Body> </SOAP-ENV:Envelope> --------------------------------------------- here is the another soap request from SOAP monitor that worked. --------------------------------------------- <?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <n:setMyObj xmlns:n="http://www.slickbeans.com/MyWebService"> <myObj> <n:myBoolean>true</n:myBoolean> <n:myInt>100</n:myInt> <n:myString>hello</n:myString> </myObj> </n:setMyObj> </SOAP-ENV:Body> </SOAP-ENV:Envelope> -------------------------------------------------- The different between twos is xmlns:n="http://www.slickbeans.com/MyWebService move to operation (<setMyObj>) to Body(<SOAP-ENV:Body>). First request (that fail) is how flex encode object into SOAP request. eg. operation.send(myObj) Second request (that success) is maually send XML from web service. eg. myObjXML.setNameSpace(..); .. .. operation.request = myObjXML; operation.send(); I wanna work with first version that send the Object as SOAP request. I wanna know what SOAP version Flex is using and what is SOAP verion my WSDL using. I didnt attach source code because posting already very long. and source code testing are willing to post in request. Could someone explain to me why it is not working? Thanks in advance Here is the WSDL for the WebService ----------------------------------- <definitions name='MyWebServiceService' targetNamespace='http://www.slickbeans.com/MyWebService' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:tns='http://www.slickbeans.com/MyWebService' xmlns:xsd='http://www.w3.org/2001/XMLSchema'> <types> <schema elementFormDefault='qualified' targetNamespace='http://www.slickbeans.com/MyWebService' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='http://www.slickbeans.com/MyWebService' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'> <complexType name='MyCol'> <sequence> <element maxOccurs='unbounded' minOccurs='0' name='myObjs' nillable='true' type='tns:MyObj'/> </sequence> </complexType> <complexType name='MyObj'> <sequence> <element name='myBoolean' type='boolean'/> <element name='myInt' type='int'/> <element name='myString' nillable='true' type='string'/> </sequence> </complexType> </schema> </types> <message name='MyWebService_echo'> <part name='input' type='xsd:string'/> </message> <message name='MyWebService_conCatResponse'> <part name='result' type='xsd:string'/> </message> <message name='MyWebService_setLongResponse'> </message> <message name='MyWebService_setInt'> <part name='input' type='xsd:int'/> </message> <message name='MyWebService_setMyObjsResponse'> <part name='result' type='xsd:int'/> </message> <message name='MyWebService_echoResponse'> <part name='result' type='xsd:string'/> </message> <message name='MyWebService_setMyObjs'> <part name='myObjOne' type='tns:MyObj'/> <part name='myObjTwo' type='tns:MyObj'/> </message> <message name='MyWebService_setTwoIntResponse'> </message> <message name='MyWebService_setTwoInt'> <part name='int_1' type='xsd:int'/> <part name='int_2' type='xsd:int'/> </message> <message name='MyWebService_getMyObjResponse'> <part name='result' type='tns:MyObj'/> </message> <message name='MyWebService_getInt'> </message> <message name='MyWebService_conCatDifType'> <part name='str' type='xsd:string'/> <part name='iNumber' type='xsd:int'/> <part name='long_1' type='xsd:long'/> </message> <message name='MyWebService_setIntResponse'> </message> <message name='MyWebService_setLong'> <part name='input' type='xsd:long'/> </message> <message name='MyWebService_getMyCol'> </message> <message name='MyWebService_getIntResponse'> <part name='result' type='xsd:int'/> </message> <message name='MyWebService_getLong'> </message> <message name='MyWebService_setMyObj'> <part name='myObj' type='tns:MyObj'/> </message> <message name='MyWebService_setTwoStringResponse'> </message> <message name='MyWebService_setMyObjResponse'> <part name='result' type='xsd:int'/> </message> <message name='MyWebService_setTwoString'> <part name='String_1' type='xsd:string'/> <part name='String_2' type='xsd:string'/> </message> <message name='MyWebService_getMyColResponse'> <part name='result' type='tns:MyCol'/> </message> <message name='MyWebService_conCatDifTypeResponse'> <part name='result' type='xsd:string'/> </message> <message name='MyWebService_conCat'> <part name='strOne' type='xsd:string'/> <part name='strTwo' type='xsd:string'/> <part name='strThree' type='xsd:string'/> </message> <message name='MyWebService_getMyObj'> </message> <message name='MyWebService_getLongResponse'> <part name='result' type='xsd:long'/> </message> <portType name='MyWebService'> <operation name='conCat' parameterOrder='strOne strTwo strThree'> <input message='tns:MyWebService_conCat'/> <output message='tns:MyWebService_conCatResponse'/> </operation> <operation name='conCatDifType' parameterOrder='str iNumber long_1'> <input message='tns:MyWebService_conCatDifType'/> <output message='tns:MyWebService_conCatDifTypeResponse'/> </operation> <operation name='echo' parameterOrder='input'> <input message='tns:MyWebService_echo'/> <output message='tns:MyWebService_echoResponse'/> </operation> <operation name='getInt'> <input message='tns:MyWebService_getInt'/> <output message='tns:MyWebService_getIntResponse'/> </operation> <operation name='getLong'> <input message='tns:MyWebService_getLong'/> <output message='tns:MyWebService_getLongResponse'/> </operation> <operation name='getMyCol'> <input message='tns:MyWebService_getMyCol'/> <output message='tns:MyWebService_getMyColResponse'/> </operation> <operation name='getMyObj'> <input message='tns:MyWebService_getMyObj'/> <output message='tns:MyWebService_getMyObjResponse'/> </operation> <operation name='setInt' parameterOrder='input'> <input message='tns:MyWebService_setInt'/> <output message='tns:MyWebService_setIntResponse'/> </operation> <operation name='setLong' parameterOrder='input'> <input message='tns:MyWebService_setLong'/> <output message='tns:MyWebService_setLongResponse'/> </operation> <operation name='setMyObj' parameterOrder='myObj'> <input message='tns:MyWebService_setMyObj'/> <output message='tns:MyWebService_setMyObjResponse'/> </operation> <operation name='setMyObjs' parameterOrder='myObjOne myObjTwo'> <input message='tns:MyWebService_setMyObjs'/> <output message='tns:MyWebService_setMyObjsResponse'/> </operation> <operation name='setTwoInt' parameterOrder='int_1 int_2'> <input message='tns:MyWebService_setTwoInt'/> <output message='tns:MyWebService_setTwoIntResponse'/> </operation> <operation name='setTwoString' parameterOrder='String_1 String_2'> <input message='tns:MyWebService_setTwoString'/> <output message='tns:MyWebService_setTwoStringResponse'/> </operation> </portType> <binding name='MyWebServiceBinding' type='tns:MyWebService'> <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/> <operation name='conCat'> <soap:operation soapAction=''/> <input> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </input> <output> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </output> </operation> <operation name='conCatDifType'> <soap:operation soapAction=''/> <input> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </input> <output> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </output> </operation> <operation name='echo'> <soap:operation soapAction=''/> <input> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </input> <output> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </output> </operation> <operation name='getInt'> <soap:operation soapAction=''/> <input> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </input> <output> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </output> </operation> <operation name='getLong'> <soap:operation soapAction=''/> <input> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </input> <output> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </output> </operation> <operation name='getMyCol'> <soap:operation soapAction=''/> <input> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </input> <output> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </output> </operation> <operation name='getMyObj'> <soap:operation soapAction=''/> <input> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </input> <output> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </output> </operation> <operation name='setInt'> <soap:operation soapAction=''/> <input> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </input> <output> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </output> </operation> <operation name='setLong'> <soap:operation soapAction=''/> <input> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </input> <output> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </output> </operation> <operation name='setMyObj'> <soap:operation soapAction=''/> <input> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </input> <output> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </output> </operation> <operation name='setMyObjs'> <soap:operation soapAction=''/> <input> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </input> <output> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </output> </operation> <operation name='setTwoInt'> <soap:operation soapAction=''/> <input> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </input> <output> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </output> </operation> <operation name='setTwoString'> <soap:operation soapAction=''/> <input> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </input> <output> <soap:body namespace='http://www.slickbeans.com/MyWebService' use='literal'/> </output> </operation> </binding> <service name='MyWebServiceService'> <port binding='tns:MyWebServiceBinding' name='MyWebServicePort'> <soap:address location='http://localhost:8080/EJB3_WS_Test'/> </port> </service> </definitions> -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/

