[ http://issues.apache.org/jira/browse/GERONIMO-975?page=all ]
Aaron Mulder updated GERONIMO-975: ---------------------------------- Fix Version: 1.1 > Problems with SOAPArrayType > --------------------------- > > Key: GERONIMO-975 > URL: http://issues.apache.org/jira/browse/GERONIMO-975 > Project: Geronimo > Type: Bug > Components: webservices > Versions: 1.0-M5 > Reporter: Stefan Schmidt > Fix For: 1.1 > Attachments: WSS4JTest.zip > > I am having a number of problems caused by array handling in SOAP. > Using sun's jwsdp I generated a simple JAX-RPC Web service which is supposed > to return an array of Strings. I used the Java2WSDL approach for a JSE - > meaning I generated heavyweight mappings and a wsdl file for my simple WS and > deployed it to G. While the WS works in general it shows the following > warning: > 09:21:29,737 WARN [HeavyweightTypeInfoBuilder] No soap array info for > schematype: [EMAIL PROTECTED]://arrays/java/lang > This is due to a non-spec conformant wsdl array mapping generated by the > jwsdp: > <types> > <schema targetNamespace="http://arrays/java/lang" > xmlns:tns="http://arrays/java/lang" > > xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns="http://www.w3.org/2001/XMLSchema"> > <complexType name="StringArray"> > <sequence> > <element name="value" type="string" > nillable="true" > minOccurs="0" > maxOccurs="unbounded" /> > </sequence> > </complexType> > </schema> > </types> > This works for this web service which returns the following response (apart > from the warning): > <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > <soapenv:Body> > <getStringArrayResponse xmlns="http://stsmedia.wss4j.test"> > <result xsi:type="xsd:string" xmlns="">String 1</result> > <result xsi:type="xsd:string" xmlns="">String 2</result> > <result xsi:type="xsd:string" xmlns="">String 3</result> > <result xsi:type="xsd:string" xmlns="">String 4</result> > </getStringArrayResponse> > </soapenv:Body> > </soapenv:Envelope> > However, when I switch on WSS4J security the response looks quite different > (SOAP body only): > <soapenv:Body > xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" > wsu:Id="id-1197222"> > <getStringArrayResponse xmlns="http://stsmedia.wss4j.test"> > <result xmlns="" xmlns:ns1="http://arrays/java/lang" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > soapenc:arrayType="ns1:StringArray[4]" xsi:type="soapenc:Array"> > <result xsi:type="xsd:string">String 1</result> > <result xsi:type="xsd:string">String 2</result> > <result xsi:type="xsd:string">String 3</result> > <result xsi:type="xsd:string">String 4</result> > </result> > </getStringArrayResponse> > </soapenv:Body> > So it seems that WSS4J has a different Array serialization methods. I have > the feeling that WSS4J actually does it right by adding the correct array > encoding. > Due to these different array serialization approaches it is currently not > possible to sign the SOAP message with WSS4J since G seems to return arrays > which lack the appropriate array encoding :-( . > Regards, > Stefan Schmidt -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira