You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Jacobo Sánchez López (JIRA)" <ax...@ws.apache.org> on 2014/02/26 16:45:22 UTC
[jira] [Commented] (AXIS-2901) Invalid java.lang.String_Element
reference generated in java class
[ https://issues.apache.org/jira/browse/AXIS-2901?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13913039#comment-13913039 ]
Jacobo Sánchez López commented on AXIS-2901:
--------------------------------------------
It seems to be similar to issue AXIS-2378
> Invalid java.lang.String_Element reference generated in java class
> -------------------------------------------------------------------
>
> Key: AXIS-2901
> URL: https://issues.apache.org/jira/browse/AXIS-2901
> Project: Axis
> Issue Type: Bug
> Components: WSDL processing
> Affects Versions: 1.4
> Environment: Windows 7
> Reporter: Jacobo Sánchez López
> Labels: wsdl2java
> Attachments: sample.wsdl
>
>
> Using WSDL2Java for a wsdl using references and specifying a target namespace with "-p" option creates
> beans that declare variables as "java.lang.String_Element". Using SOAPUi to generate code with options:
> command: [java, -cp, <classpath>, org.apache.axis.wsdl.WSDL2Java, -v, -T, 1.2, -p, test.package, -o, C:\outputfolder, C:\wsdlroute\wsdlfile.wsdl]
> Name.java contains:
> private java.lang.String_Element firstElement;
> private java.lang.String_Element secondElement;
> private java.lang.String thirdElement;
>
> and it does not compile.
> I found two workarounds to avoid this:
> 1) Modify WSDL by replacing references:
> <xs:element name="Names">
> <xs:complexType>
> <xs:sequence>
> <xs:element ref="ns0:FirstElement"/>
> <xs:element ref="ns0:SecondElement"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="FirstElement" type="xs:string"/>
> <xs:element name="SecondElement" type="xs:string"/>
> with
> <xs:element name="Names">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="FirstElement" type="xs:string"/>
> <xs:element name="SecondElement" type="xs:string"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> 2) Modifying JavaGeneratorFactory.java
> } else if (name.equals(entry.getName())) {
> resolve = true; // Need to do resolution
> }
>
> for:
>
> } else if (name.equals(entry.getName())) {
> resolve = true; // Need to do resolution
> if(entry instanceof DefinedElement) {
> if(((DefinedElement) entry).isBaseType()) {
> resolve = false;
> }
> }
> }
>
> which is too ad-hoc but works for me
>
> I have another issue with SOAP generated for request in this kind of WSDL with
> <xs:element ref="ns0:Names" minOccurs="0" maxOccurs="unbounded"/>
> <xs:element name="Names">
> ...
> generating
> <item xmlns="">
> instead of <Names> (as i think it should) but will open a different issue for it
>
>
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org