[ http://issues.apache.org/jira/browse/AXIS2-953?page=comments#action_12425713 ] Francisco Fernandez commented on AXIS2-953: -------------------------------------------
This is similar to AXIS2-952. I have not found any way to send an attachment (via MTOM or SwA) using Document/Style neither. The only way I have tested with Axis2 is sending the image with base64Binary. Regards > Wsdl2Java throws a code generation exception if the input message has 2 > parts. (Document-Literal Wrapped Dispatching) > ---------------------------------------------------------------------------------------------------------------------- > > Key: AXIS2-953 > URL: http://issues.apache.org/jira/browse/AXIS2-953 > Project: Apache Axis 2.0 (Axis2) > Issue Type: Bug > Components: wsdl > Affects Versions: 1.0 > Environment: Linux > Reporter: Nitesh kant > > I am trying to generate Java client side stubs from WSDL using Wsdl2Java. > Following is the wsdl: > ------------------------------------------------------------------ > <?xml version="1.0" encoding="UTF-8"?> > <wsdl:definitions xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:tns="http://www.foo.bar/schemas/2006/02/26/wsdl/" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > > xmlns:types="http://www.foo.bar/schemas/2006/02/26/wsdl/types" > > targetNamespace="http://www.foo.bar/schemas/2006/02/26/wsdl/" > name="WSDLFILE"> > <wsdl:types> > <xsd:schema > targetNamespace="http://www.foo.bar/schemas/2006/02/26/wsdl/types" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > elementFormDefault="qualified"> > <xsd:element name="session_id" type="xsd:string" /> > <xsd:element name="attachment" type="xsd:hexBinary" /> > <xsd:element name="putBundle"> > <xsd:complexType> > <xsd:sequence> > <xsd:element name="groupName" type="xsd:string"/> > </xsd:sequence> > </xsd:complexType> > </xsd:element> > </xsd:schema> > </wsdl:types> > <!-- Message definitions --> > <wsdl:message name="putBundleRequest"> > <wsdl:part name="body" element="types:putBundle"/> > <wsdl:part name="attachment" element="types:attachment"/> > </wsdl:message> > <wsdl:message name="putBundleResponse"> > <wsdl:part element="types:session_id" name="PutAGBundleResponse"/> > </wsdl:message> > <wsdl:portType name="Config"> > <wsdl:operation name="putBundle"> > <wsdl:input message="tns:PutBundleRequest"/> > <wsdl:output message="tns:PutBundleResponse"/> > </wsdl:operation> > </wsdl:portType> > <wsdl:binding name="configSoapBinding" type="tns:Config"> > <wsdlsoap:binding style="document" > transport="http://schemas.xmlsoap.org/soap/http"/> > <wsdl:operation name="putBundle"> > <wsdlsoap:operation/> > <wsdl:input> > <mime:multipartRelated > xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"> > <mime:part> > <wsdlsoap:body parts="body" > use="literal"/> > </mime:part> > <mime:part> > <mime:content part="attachment" > type="application/zip"/> > </mime:part> > </mime:multipartRelated> > </wsdl:input> > <wsdl:output> > <wsdlsoap:body parts="tns:PutBundleResponse" use="literal"/> > </wsdl:output> > </wsdl:operation> > </wsdl:binding> > <wsdl:service name="ConfigService"> > <wsdl:port binding="tns:configSoapBinding" > name="config"> > <wsdlsoap:address > location="http://localhost:8080/config"/> > </wsdl:port> > </wsdl:service> > </wsdl:definitions> > ------------------------------------------------------------------ > The whole intention is to send a SOAP attachment as a part of the request for > "putBundle" operation. > I am not sure whether this is the correct way of doing it in Axis2 but yes, > wsdl specs do suggest the same. > The following is the stack trace for the code-generation error: > ---------------------------------------------------------------------- > Exception in thread "main" > org.apache.axis2.wsdl.codegen.CodeGenerationException: > java.lang.RuntimeException: java.lang.reflect.InvocationTargetException > at > org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:185) > at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:32) > at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:21) > Caused by: java.lang.RuntimeException: > java.lang.reflect.InvocationTargetException > at > org.apache.axis2.wsdl.codegen.extension.XMLBeansExtension.engage(XMLBeansExtension.java:93) > at > org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:140) > ... 2 more > Caused by: java.lang.reflect.InvocationTargetException > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at > org.apache.axis2.wsdl.codegen.extension.XMLBeansExtension.engage(XMLBeansExtension.java:83) > ... 3 more > Caused by: java.lang.RuntimeException: > org.apache.xmlbeans.XmlException: error: src-resolve: type '[EMAIL > PROTECTED]://www.foo.bar/schemas/2006/02/26/wsdl/' not found. > at > org.apache.axis2.xmlbeans.CodeGenerationUtility.processSchemas(CodeGenerationUtility.java:192) > ... 8 more > Caused by: org.apache.xmlbeans.XmlException: error: src-resolve: type > '[EMAIL PROTECTED]://www.foo.bar/schemas/2006/02/26/wsdl/' not found. > at > org.apache.xmlbeans.impl.schema.SchemaTypeSystemCompiler.compile(SchemaTypeSystemCompiler.java:225) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at org.apache.xmlbeans.XmlBeans.compileXmlBeans(XmlBeans.java:665) > at > org.apache.axis2.xmlbeans.CodeGenerationUtility.processSchemas(CodeGenerationUtility.java:161) > ... 8 more > ---------------------------------------------------------------------- > However, if the "PutBundleRequest" message contains only one part, everything > works fine. > The following is the ant task i am using to call Wsdl2Java > ------------------------------------------------------------------------------------------------------------------- > <java classname="org.apache.axis2.wsdl.WSDL2Java" fork="true"> > <classpath refid="wsdl2Java.gen.classpath"/> > <arg value="-u"/> > <arg value="-s"/> > <arg value="-d"/> > <arg value="xmlbeans"/> > <arg value="-uri"/> > <arg file="${wsdl2Java_schemas}/ConfigService.wsdl"/> > <arg value="-o"/> > <arg file="${wsdl2Java_root}"/> > <arg value="-p"/> > <arg value="com.sonoa.soi.client"/> > <arg value="-ns2p"/> > <arg > value="http://wwwfoo.bar/schemas/2006/02/26/wsdl/=com.foo,http://www.foo.bar/schemas/2006/02/26/wsdl/types=com.foo.wsdl.types"/> > </java> > --------------------------------------------------------------------------------------------- > Am i missing something or is it a bug? > Also, it will be helpful, if you can suggest a way that works with Axis2 to > send SOAP attachments using stubs generated by Wsdl2Java. > thanks and regards, > nitesh -- 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 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
