This has been a busy week for me and the email is long over a complicated
subject however I expect to see what advice I can give in the next few
days.

On Fri, Jan 31, 2025 at 11:15 AM Debra Petta
<deb...@drummondgroup.com.invalid> wrote:

> Hi Everyone –
>
>
>
> I am in the process of attempting to convert my Axis 1.0 application to
> Axis 2 (version 1.8.2). I have been reviewing the User Guide and the
> related documentation for Axis 2 for several weeks now, however I couldn’t
> find any documentation that addresses my specific questions, so I hope
> someone in this group can assist me.
>
>
>
> Basically, my current Axis 1.0 application has a server implementation and
> an interface that is converted into client-side code.  The client then
> makes RPC calls to specific methods through the generated client stubs.
>
> My deploy.wsdd file (snippet below) contains several <beanMapping>
> elements for my custom return types, so it is my assumption that I need to
> use xmlbean data binding.
>
>
>
> <deployment
>
>   xmlns=http://xml.apache.org/axis/wsdd/
>
>   xmlns:java=http://xml.apache.org/axis/wsdd/providers/java
>
> >
>
>                 <service
>
>                   name="VendorSvc"
>
>                   provider="java:RPC"
>
>                 >
>
>                                 <parameter name="className"
> value="com.dgi.insitusvc.ws.VendorSvcWS"/>
>
>                                 <parameter name="allowedMethods"
> value="*"/>
>
>                                 <beanMapping
> qname="dgiNS:GenericResult"        xmlns:dgiNS="urn:vendorsvc.dgi.com"
> languageSpecificType="java:com.dgi.insitusvc.itf.GenericResult"/>
>
> ...
>
> [snip]
>
>
>
> Based on these assumptions, I converted my java2wsdl ant task
>
> from:
>
>        <echo message="Generating WSDL files from server Java classes..."/>
>
>         <java fork="yes" classname="org.apache.axis.wsdl.Java2WSDL">
>
>             <arg line='
>
>                   -o server/src/wsdl-gen/vendorsvc.wsdl
>
>                   -l http://localhost:8080/axis/services/VendorSvc
>
>                  -n "urn:com.dgi.vendorsvc"
>
>                  -p "com.dgi.insitusvc.itf" "urn:vendorsvc.dgi.com"
>
>                  com.dgi.insitusvc.ws.VendorSvcWS'/>
>
>             <classpath>
>
>                 <pathelement location="build/classes"/>
>
>                 <pathelement location="../externlib/axis.jar"/>
>
>                 <pathelement
> location="../externlib/commons-discovery.jar"/>
>
>                 <pathelement location="../externlib/commons-logging.jar"/>
>
>                 <pathelement location="../externlib/wsdl4j.jar"/>
>
>                 <pathelement location="../externlib/jaxrpc-api.jar"/>
>
>                 <pathelement location="../externlib/xsdlib.jar"/>
>
>                 <pathelement location="../externlib/saaj.jar"/>
>
>             </classpath>
>
>         </java>
>
>
>
> to:
>
>         <echo message="Generating WSDL files from server Java classes..."/>
>
>         <java fork="yes" classname="org.apache.ws.java2wsdl.Java2WSDL">
>
>             <arg line='
>
>                  -o server/src/wsdl-gen
>
>                  -l http://localhost:8080/axis2/services/VendorSvc
>
>                  -tn "urn:com.dgi.vendorsvc"
>
>                  -p2n [com.dgi.insitusvc.itf,urn:vendorsvc.dgi.com]
>
>                  -cn com.dgi.insitusvc.ws.VendorSvcWS
>
>                  -xc com.dgi.insitusvc.itf.ParticipantVO
>
>                  -xc com.dgi.insitusvc.itf.PhaseVO
>
>                  -xc com.dgi.insitusvc.itf.TestCaseInstanceVO
>
>                  -xc com.dgi.insitusvc.itf.TestCasesVO
>
>                  -xc com.dgi.insitusvc.itf.TestCaseOverviewVO
>
>                  -wv 1.1
>
>                  -st rpc
>
>                  -sn VendorSvc'/>
>
>             <classpath>
>
>                 <pathelement location="build/classes"/>
>
>                 <fileset dir="externlib" includes="*.jar"/>
>
>             </classpath>
>
>         </java>
>
>
>
> Running the updated task creates a VendorSvcWS.wsdl file with the schema
> definitions for all the complex types, message/parameter elements,
> operations and bindings.
>
>
>
> I then converted the wsdl2java ant task
>
> from:
>
>        <echo message="Generating client Java classes from server WSDL
> files..."/>
>
>         <java fork="yes" classname="org.apache.axis.wsdl.WSDL2Java">
>
>             <arg line='-p com.dgi.client.vendorsvc -o client/src/java-gen
> server/src/wsdl-gen/vendorsvc.wsdl'/>
>
>             <classpath>
>
>                 <pathelement location="../externlib/axis.jar"/>
>
>                 <pathelement
> location="../externlib/commons-discovery.jar"/>
>
>                 <pathelement location="../externlib/commons-logging.jar"/>
>
>                 <pathelement location="../externlib/wsdl4j.jar"/>
>
>                 <pathelement location="../externlib/jaxrpc-api.jar"/>
>
>                 <pathelement location="../externlib/xsdlib.jar"/>
>
>                 <pathelement location="../externlib/saaj.jar"/>
>
>             </classpath>
>
>         </java>
>
> to:
>
>        <echo message="Generating client Java classes from server WSDL
> files..."/>
>
>         <java fork="yes" classname="org.apache.axis2.wsdl.WSDL2Java">
>
>             <arg line='
>
>                  -uri server/src/wsdl-gen/VendorSvcWS.wsdl
>
>                  -d xmlbeans
>
>                  -p com.dgi.client.vendorsvc
>
>                  -o client/src/java-gen
>
>                   -ssi
>
>                 -uw'/>
>
>             <classpath>
>
>                 <fileset dir="externlib" includes="*.jar"/>
>
>             </classpath>
>
>         </java>
>
>
>
> When I run the converted wsdl2java task, this exception information is
> logged:
>
>
>
> wsdl2java:
>
>      [echo] Generating client Java classes from server WSDL files...
>
>      [java] Retrieving document at 'server/src/wsdl-gen/VendorSvcWS.wsdl'.
>
>      [java] Exception in thread "main"
> org.apache.axis2.wsdl.codegen.CodeGenerationException: Error parsing WSDL
>
>      [java]     at
> org.apache.axis2.wsdl.codegen.CodeGenConfiguration.loadWsdl(CodeGenConfiguration.java:748)
>
>      [java]     at
> org.apache.axis2.wsdl.codegen.CodegenConfigLoader.loadConfig(CodegenConfigLoader.java:328)
>
>      [java]     at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:53)
>
>      [java]     at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24)
>
>      [java] Caused by: org.apache.axis2.AxisFault: The binding operation
> validateParticipant is RPC/literal. The message parts for this operation
> must use the type attribute as specificed by WS-I Basic Profile
> specification (4.4.1).  Message part, parameters, violatesthis rule.
> Please remove the element attribute and use the type attribute.
>
>      [java]     at org.apache.axis2.AxisFault.makeFault(AxisFault.java:431)
>
>      [java]     at
> org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateService(WSDL11ToAxisServiceBuilder.java:408)
>
>      [java]     at
> org.apache.axis2.description.WSDL11ToAllAxisServicesBuilder.populateAllServices(WSDL11ToAllAxisServicesBuilder.java:107)
>
>      [java]     at
> org.apache.axis2.wsdl.codegen.CodeGenConfiguration.loadWsdl(CodeGenConfiguration.java:742)
>
>      [java]     ... 3 more
>
>      [java] Caused by:
> org.apache.axis2.description.WSDL11ToAxisServiceBuilder$WSDLProcessingException:
> The binding operation validateParticipant is RPC/literal. The message parts
> for this operation must use the type attribute as specificed by WS-I Basic
> Profile specification (4.4.1).  Message part, parameters, violatesthis
> rule.  Please remove the element attribute and use the type attribute.
>
>      [java]     at
> org.apache.axis2.description.WSDL11ToAxisServiceBuilder.addPartToElement(WSDL11ToAxisServiceBuilder.java:2252)
>
>      [java]     at
> org.apache.axis2.description.WSDL11ToAxisServiceBuilder.getNewComplextType(WSDL11ToAxisServiceBuilder.java:2110)
>
>      [java]     at
> org.apache.axis2.description.WSDL11ToAxisServiceBuilder.createSchemaForPorttype(WSDL11ToAxisServiceBuilder.java:1760)
>
>      [java]     at
> org.apache.axis2.description.WSDL11ToAxisServiceBuilder.generateWrapperSchema(WSDL11ToAxisServiceBuilder.java:1648)
>
>      [java]     at
> org.apache.axis2.description.WSDL11ToAxisServiceBuilder.populateService(WSDL11ToAxisServiceBuilder.java:352)
>
>      [java]     ... 5 more
>
>      [java] Java Result: 1
>
>
>
> I have pasted all references to the  ‘validateParticipant’ from the WSDL
> below:
>
>
>
> *From the schema section:*
>
>         <xs:element name="validateParticipant">
>
>                 <xs:complexType>
>
>                     <xs:sequence>
>
>                         <xs:element minOccurs="0" name="data"
> nillable="true" type="ax22:ParticipantFullVO"/>
>
>                         <xs:element name="useHtmlBreaks"
> type="xs:boolean"/>
>
>                         <xs:element name="forceCheck" type="xs:boolean"/>
>
>                     </xs:sequence>
>
>                 </xs:complexType>
>
>             </xs:element>
>
>             <xs:element name="validateParticipantResponse">
>
>                 <xs:complexType>
>
>                     <xs:sequence>
>
>                         <xs:element minOccurs="0" name="return"
> nillable="true" type="xs:string"/>
>
>                     </xs:sequence>
>
>                 </xs:complexType>
>
>             </xs:element>
>
>
>
> *Messages:*
>
>     <wsdl:message name="validateParticipantRequest">
>
>         <wsdl:part name="parameters" element="ns:validateParticipant"/>
>
>     </wsdl:message>
>
>     <wsdl:message name="validateParticipantResponse">
>
>         <wsdl:part name="parameters" element
> ="ns:validateParticipantResponse"/>
>
>     </wsdl:message>
>
>
>
> *Operation*:
>
>         <wsdl:operation name="validateParticipant">
>
>             <wsdl:input message="tns:validateParticipantRequest"
> wsaw:Action="urn:validateParticipant"/>
>
>             <wsdl:output message="tns:validateParticipantResponse"
> wsaw:Action="urn:validateParticipantResponse"/>
>
>         </wsdl:operation>
>
>
>
>       <wsdl:operation name="validateParticipant">
>
>             <soap:operation soapAction="urn:validateParticipant"
> style="rpc"/>
>
>             <wsdl:input>
>
>                 <soap:body use="literal"/>
>
>             </wsdl:input>
>
>             <wsdl:output>
>
>                 <soap:body use="literal"/>
>
>             </wsdl:output>
>
>         </wsdl:operation>
>
>
>
> From what I can tell, it appears that the above stack trace requires some
> sort of manual intervention to convert the highlighted ‘element’ parameter
> to ‘type’, however I have no idea how to resolve this issue since my hope
> was that the process of generating the WSDL and the client classes would be
> automated through ant.
>
>
>
> Is it possible that I generated the WSDL incorrectly or have called the
> WSDL2Java with incorrect parameters?
>
>
>
> I did try to generate the source code using ‘mvn clean install’ (using
> Maven 3.9.2) to see if I can figure out where it is failing however, I
> cannot get past the plug-in exceptions even after following the
> instructions in the readme to build the plugins individually.
>
>
>
> Thank you for whatever advice that you can provide.
>
>
>
> -Debra
>
>
>

Reply via email to