Hello!

I got a problem trying to execute a web service running in Oracle 
OC4j 10.1.3.3, and a client side with Flex3. I generated the scripts 
for using the web service using Flex builder 3, but it's not making a 
valid call to web service. I debugged the call operation to the Flex 
SOAPEncoder which seems to generate an invalid soap message. The 
SOAPEncoder generates the following message;

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/
envelope/" xmlns="http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
<SOAP-ENV:Body>
<tns:getDocuments xmlns:tns="http://modultek.atonpdm.document/";>
<tns:getDocuments>
<tns:String_1>service manual</tns:String_1>
</tns:getDocuments>
</tns:getDocuments>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Where the correct working soap message should be;

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/
envelope/" xmlns="http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
<SOAP-ENV:Body>
<tns:getDocuments xmlns:tns="http://modultek.atonpdm.document/";>
<tns:String_1>service manaual</tns:String_1>
</tns:getDocuments>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Problem in the first message is that Flex SOAPEncoder generates an 
extra <tns:getDocuments> child tag, and Oracle app server can't 
handle it. 

Has someone any idea why SOAPEncoder is generating the extra 
operation tag, and is this behaviour configurable somehow or is the 
soapencoder broken?

The wsdl is included in the following;

<?xml version="1.0" encoding="UTF-8" ?> 
- <definitions xmlns="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:xsd="http://
www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/
wsdl/mime/" xmlns:tns="http://modultek.atonpdm.document/"; 
name="DocumentOperationsService" targetNamespace="http://
modultek.atonpdm.document/">
- <types>
- <schema xmlns="http://www.w3.org/2001/XMLSchema"; xmlns:wsdl="http://
schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/
encoding/" targetNamespace="http://modultek.atonpdm.document/"; 
elementFormDefault="qualified">
- <complexType name="SimpleDocumentDM">
- <sequence>
<element name="docGroupDesc" type="string" nillable="true" /> 
<element name="docRev" type="string" nillable="true" /> 
<element name="docId" type="string" nillable="true" /> 
<element name="docGroup" type="string" nillable="true" /> 
<element name="docDesc1" type="string" nillable="true" /> 
<element name="docDesc2" type="string" nillable="true" /> 
<element name="docCode" type="string" nillable="true" /> 
<element name="docDesc3" type="string" nillable="true" /> 
<element name="docDesc4" type="string" nillable="true" /> 
</sequence>
</complexType>
<element name="getDocuments" type="tns:getDocuments" /> 
- <complexType name="getDocuments">
- <sequence>
<element name="String_1" type="string" nillable="true" /> 
</sequence>
</complexType>
<element name="getDocumentsResponse" type="tns:getDocumentsResponse" /
> 
- <complexType name="getDocumentsResponse">
- <sequence>
<element name="return" type="tns:CollectionOfSimpleDocumentDM" 
nillable="true" /> 
</sequence>
</complexType>
- <complexType name="CollectionOfSimpleDocumentDM">
- <sequence>
<element name="item" type="tns:SimpleDocumentDM" minOccurs="0" 
maxOccurs="unbounded" /> 
</sequence>
</complexType>
<element name="getSimpleDocumentInformation" 
type="tns:getSimpleDocumentInformation" /> 
- <complexType name="getSimpleDocumentInformation">
- <sequence>
<element name="String_1" type="string" nillable="true" /> 
</sequence>
</complexType>
<element name="getSimpleDocumentInformationResponse" 
type="tns:getSimpleDocumentInformationResponse" /> 
- <complexType name="getSimpleDocumentInformationResponse">
- <sequence>
<element name="return" type="tns:SimpleDocumentDM" nillable="true" /> 
</sequence>
</complexType>
</schema>
</types>
- <message name="DocumentOperations_getDocuments">
<part name="parameters" element="tns:getDocuments" /> 
</message>
- <message name="DocumentOperations_getDocumentsResponse">
<part name="parameters" element="tns:getDocumentsResponse" /> 
</message>
- <message name="DocumentOperations_getSimpleDocumentInformation">
<part name="parameters" element="tns:getSimpleDocumentInformation" /> 
</message>
- <message 
name="DocumentOperations_getSimpleDocumentInformationResponse">
<part name="parameters" 
element="tns:getSimpleDocumentInformationResponse" /> 
</message>
- <portType name="DocumentOperations">
- <operation name="getDocuments">
<input message="tns:DocumentOperations_getDocuments" /> 
<output message="tns:DocumentOperations_getDocumentsResponse" /> 
</operation>
- <operation name="getSimpleDocumentInformation">
<input message="tns:DocumentOperations_getSimpleDocumentInformation" /
> 
<output 
message="tns:DocumentOperations_getSimpleDocumentInformationResponse" 
/> 
</operation>
</portType>
- <binding name="DocumentOperationsSoapHttp" 
type="tns:DocumentOperations">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/
soap/http" /> 
- <operation name="getDocuments">
<soap:operation soapAction="" /> 
- <input>
<soap:body use="literal" /> 
</input>
- <output>
<soap:body use="literal" /> 
</output>
</operation>
- <operation name="getSimpleDocumentInformation">
<soap:operation soapAction="" /> 
- <input>
<soap:body use="literal" /> 
</input>
- <output>
<soap:body use="literal" /> 
</output>
</operation>
</binding>
- <service name="DocumentOperationsService">
- <port name="DocumentOperationsBean" 
binding="tns:DocumentOperationsSoapHttp">
<soap:address location="http://procyon:8888/atonpdm/
DocumentOperationsBean" /> 
</port>
</service>
</definitions>

Best regards, Janne

Reply via email to