axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benoit Guillon (JIRA)" <j...@apache.org>
Subject [jira] Created: (AXIS2-3333) wsdl2java namespace problem
Date Mon, 12 Nov 2007 10:46:51 GMT
wsdl2java namespace problem
---------------------------

                 Key: AXIS2-3333
                 URL: https://issues.apache.org/jira/browse/AXIS2-3333
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: Tools
    Affects Versions: 1.3
         Environment: Windows XP 5.1.2600
Axis2 1.3
Maven 2.0.7
Java 1.5.0_12
            Reporter: Benoit Guillon


I'm having problems with the code generated by wsdl2java (precisely using the maven2 plugin).
I'm using Axis2 1.3 with the ADB binding.

It seems that the generator gets confused because an operation is declared in a given XML
namespace and a bean used in the response of the operation is declared in a different namespace.

The sample WSDL in attachment illustrates the situation. The operation "timer" and its associated
messages "timerRequest" and "timerResponse" belong to the namespace "http://mycompany.com/myservice"
however the data structure ReturnStructure is defined with the namespace "http://mycompany.com/core/beans".

In this situation, the generated code for the message TimerResponse expects an element ReturnStructure
with namespace http://mycompany.com/myservice instead of "http://mycompany.com/core/beans".

When the code is run, the parse method of TimerResponse class throws an ADBException "Unexepected
subelement ReturnStructure" when the response is parsed.

Is there something wrong with my WSDL (which is generated using another tool)? Or is this
a bug?

The part of my pom.xml that defines the use of the maven2 plugin:

<build>
        <plugins>
                <plugin>
                <groupId>org.apache.axis2</groupId>
                <artifactId>axis2-wsdl2code-maven-plugin</artifactId>
                <version>1.3</version>
                <executions>
                        <execution>
                        <goals>
                                <goal>wsdl2code</goal>
                        </goals>
                        <configuration>
                                <databindingName>adb</databindingName>
                                <packageName>org.mycompany.myservice.axis2client</packageName>
                                <wsdlFile>src/main/resources/myservice.wsdl</wsdlFile>
                                <outputDirectory>target/generated-sources/axis2/wsdl2code</outputDirectory>
                                <unpackClasses>true</unpackClasses>
                                <syncMode>sync</syncMode>
                        </configuration>
                        </execution>
                </executions>
                </plugin>
        </plugins>
</build>


The portion of code that causes the problem is located in TimerResponse.java

if (reader.isStartElement() && new javax.xml.namespace.QName("http://mycompany.com/myservice","ReturnStructure").equals(reader.getName())){
        nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
      if ("true".equals(nillableValue) || "1".equals(nillableValue)){
      object.setReturnStructure(null);
            reader.next();
                reader.next();
                                         
        }else{
                                   
                object.setReturnStructure(com.mycompany.core.beans.ReturnStructure.Factory.parse(reader));
                                     
                reader.next();
        }
}  // End of if for expected property start element
                               
else{
        // A start element we are not expecting indicates an invalid parameter was passed
        throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getLocalName());
} 


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Mime
View raw message