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 "David Easley (JIRA)" <ax...@ws.apache.org> on 2006/02/08 20:52:08 UTC
[jira] Created: (AXIS-2398) WSDL2Java - incorrect Java code when
using SOAP headers
WSDL2Java - incorrect Java code when using SOAP headers
-------------------------------------------------------
Key: AXIS-2398
URL: http://issues.apache.org/jira/browse/AXIS-2398
Project: Apache Axis
Type: Bug
Components: WSDL processing
Versions: 1.3
Environment: Axis version is 1.3, Java version is 1.4, running on WinXP SP2
Reporter: David Easley
The attached WSDL and associated schema defines a single method that uses a SOAP header in the request message. WSDL2Java generates the following method signature in the ...PortType interface:
public com.northgateis.compass.ws.axis.dto.CreateRoleResponse
createRole(com.northgateis.compass.ws.axis.dto.CreateRole parameters,
com.northgateis.compass.ws.axis.dto.SecurityCredentialsHeader securityheader)
throws java.rmi.RemoteException;
When we define a dummy method definition prior the wanted method the following code is generated for the original method:
public int createRole(
com.northgateis.compass.ws.axis.dto.RoleDto roleDto,
com.northgateis.compass.ws.axis.dto.SecurityCredentialsDto securityCredentials)
throws java.rmi.RemoteException;
We believe the second signature is correct (it's close to what we had originally before we defined a SOAP header and therefore what we expected). It seems as if specifying a dummy method (that doesn't use a SOAP header) prior to the wanted methods kicks WSDL2Java into generating code correctly for the methods that follow.
The provided WSDL has the dummy method commented out (in the messages, portType, and binding sections). To reproduce the bug, just search for "dummy" and uncomment the commented out elements.
As you can see, we're using a doc/literal(wrapped) style WSDL.
Command line:
java -cp ..\..\compass-lib\apache-axis\lib\axis.jar;..\..\compass-lib\jakarta-commons\lib\commons-logging-1.0.4.jar;..\..\compass-lib\jakarta-commons-web\lib\commons-discovery.jar;..\..\compass-lib\apache-axis\lib\jaxrpc.jar;..\..\compass-lib\apache-axis\lib\saaj.jar;..\..\compass-lib\apache-axis\lib\wsdl4j.jar
org.apache.axis.wsdl.WSDL2Java -s -o "srcgen"
--NStoPkg http://www.northgate-is.com/compass=com.northgateis.compass.ws.axis.dto
--NStoPkg http://www.govtalk.gov.uk/people/PersonDescriptives=com.northgateis.compass.ws.axis.dto
--NStoPkg http://www.govtalk.gov.uk/core=com.northgateis.compass.ws.axis.dto
"..\web-war\wsdls\compassSecurity.wsdl"
--NStoPkg http://www.northgate-is.com/compass/security/wsdl=com.northgateis.compass.ws.security.services
Command output message:
01-Feb-2006 13:12:11 org.apache.axis.utils.JavaUtils isAttachmentSupported
WARNING: Unable to find required classes (javax.activation.DataHandler and
javax.mail.internet.MimeMultipart). Attachment support is disabled.
[Note - we get this warning either way; it seems to be benign]
--
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
[jira] Updated: (AXIS-2398) WSDL2Java - incorrect Java code when
using SOAP headers
Posted by "David Easley (JIRA)" <ax...@ws.apache.org>.
[ http://issues.apache.org/jira/browse/AXIS-2398?page=all ]
David Easley updated AXIS-2398:
-------------------------------
Attachment: Axis13bug.ZIP
> WSDL2Java - incorrect Java code when using SOAP headers
> -------------------------------------------------------
>
> Key: AXIS-2398
> URL: http://issues.apache.org/jira/browse/AXIS-2398
> Project: Apache Axis
> Type: Bug
> Components: WSDL processing
> Versions: 1.3
> Environment: Axis version is 1.3, Java version is 1.4, running on WinXP SP2
> Reporter: David Easley
> Attachments: Axis13bug.ZIP
>
> The attached WSDL and associated schema defines a single method that uses a SOAP header in the request message. WSDL2Java generates the following method signature in the ...PortType interface:
> public com.northgateis.compass.ws.axis.dto.CreateRoleResponse
> createRole(com.northgateis.compass.ws.axis.dto.CreateRole parameters,
> com.northgateis.compass.ws.axis.dto.SecurityCredentialsHeader securityheader)
> throws java.rmi.RemoteException;
> When we define a dummy method definition prior the wanted method the following code is generated for the original method:
> public int createRole(
> com.northgateis.compass.ws.axis.dto.RoleDto roleDto,
> com.northgateis.compass.ws.axis.dto.SecurityCredentialsDto securityCredentials)
> throws java.rmi.RemoteException;
> We believe the second signature is correct (it's close to what we had originally before we defined a SOAP header and therefore what we expected). It seems as if specifying a dummy method (that doesn't use a SOAP header) prior to the wanted methods kicks WSDL2Java into generating code correctly for the methods that follow.
> The provided WSDL has the dummy method commented out (in the messages, portType, and binding sections). To reproduce the bug, just search for "dummy" and uncomment the commented out elements.
> As you can see, we're using a doc/literal(wrapped) style WSDL.
> Command line:
> java -cp ..\..\compass-lib\apache-axis\lib\axis.jar;..\..\compass-lib\jakarta-commons\lib\commons-logging-1.0.4.jar;..\..\compass-lib\jakarta-commons-web\lib\commons-discovery.jar;..\..\compass-lib\apache-axis\lib\jaxrpc.jar;..\..\compass-lib\apache-axis\lib\saaj.jar;..\..\compass-lib\apache-axis\lib\wsdl4j.jar
> org.apache.axis.wsdl.WSDL2Java -s -o "srcgen"
> --NStoPkg http://www.northgate-is.com/compass=com.northgateis.compass.ws.axis.dto
> --NStoPkg http://www.govtalk.gov.uk/people/PersonDescriptives=com.northgateis.compass.ws.axis.dto
> --NStoPkg http://www.govtalk.gov.uk/core=com.northgateis.compass.ws.axis.dto
> "..\web-war\wsdls\compassSecurity.wsdl"
> --NStoPkg http://www.northgate-is.com/compass/security/wsdl=com.northgateis.compass.ws.security.services
> Command output message:
> 01-Feb-2006 13:12:11 org.apache.axis.utils.JavaUtils isAttachmentSupported
> WARNING: Unable to find required classes (javax.activation.DataHandler and
> javax.mail.internet.MimeMultipart). Attachment support is disabled.
> [Note - we get this warning either way; it seems to be benign]
--
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