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 "Ronny Riedel (JIRA)" <ax...@ws.apache.org> on 2006/01/19 16:53:44 UTC
[jira] Created: (AXIS-2376) incomplete generation of 'Stub' due to
missing of (WSDL-)Message
incomplete generation of 'Stub' due to missing <wsdl:part .../> of (WSDL-)Message
---------------------------------------------------------------------------------
Key: AXIS-2376
URL: http://issues.apache.org/jira/browse/AXIS-2376
Project: Apache Axis
Type: Bug
Components: WSDL processing
Versions: current (nightly), 1.2.1, 1.3
Environment: SuSE Linux Enterprise Server 9
--
Apache Tomcat/5.0.27
--
java version "1.4.2_03"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02)
Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode)
Reporter: Ronny Riedel
I have the following lines in my wsdl-file
[...]
<!-- Funktion: "getEnvironment" -->
<wsdl:message name="getEnvironmentRequest" />
<wsdl:message name="getEnvironmentResponse">
<wsdl:part element="tns1:getEnvironmentResponse" name="parameters"/>
</wsdl:message>
<!-- Funktion: "getEnvEntry" -->
<wsdl:message name="getEnvEntryRequest">
<wsdl:part element="tns1:getEnvEntry" name="parameters"/>
</wsdl:message>
<wsdl:message name="getEnvEntryResponse">
<wsdl:part element="tns1:getEnvEntryResponse" name="parameters"/>
</wsdl:message>
[...]
How you can see, the request of "getEnvironment" has no <wsdl:part .../>. Based on these WSDL-File, i created all java-objects with
java -cp [necessary jar's] org.apache.axis.wsdl.WSDL2Java -s -S true -t environment.wsdl
The generated stub contains the following lines
/*
*
*/
public EnvEntry[] getEnvironment() throws RemoteException, NGITException {
if (super.cachedEndpoint == null) {
throw new org.apache.axis.NoEndPointException();
}
org.apache.axis.client.Call _call = createCall();
_call.setOperation(_operations[0]);
_call.setUseSOAPAction(true);
_call.setSOAPActionURI("");
_call.setEncodingStyle(null);
_call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);
_call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
setRequestHeaders(_call);
setAttachments(_call);
[...]
}
/*
*
*/
public EnvEntry getEnvEntry(String p_strEnvEntryName) throws RemoteException, NGITException {
if (super.cachedEndpoint == null) {
throw new org.apache.axis.NoEndPointException();
}
org.apache.axis.client.Call _call = createCall();
_call.setOperation(_operations[1]);
_call.setUseSOAPAction(true);
_call.setSOAPActionURI("");
_call.setEncodingStyle(null);
_call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);
_call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
_call.setOperationName(new javax.xml.namespace.QName("http://types.xxx.de/", "getEnvEntry"));
setRequestHeaders(_call);
setAttachments(_call);
}
How you can see, the function-call "_call.setOperationName([...])" of the _call-Object in the first function isn't created. If i run the corresponding JUnit-Test case, i got the following error for the function "getEnvironment()"
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
faultSubcode:
faultString: No operation name specified!
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:No operation name specified!
at org.apache.axis.client.Call.invoke(Call.java:1801)
at de.xxx.AdminServiceSoapBindingStub.getEnvironment(AdminServiceSoapBindingStub.java:215)
at de.xxx.AdminService_v2_0TestCase.test1AdminService_v2_0GetEnvironment(AdminService_v2_0TestCase.java:50)
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:324)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:474)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:342)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:194)
{http://xml.apache.org/axis/}hostname:dbnu032
No operation name specified!
at org.apache.axis.client.Call.invoke(Call.java:1801)
at de.xxx.AdminServiceSoapBindingStub.getEnvironment(AdminServiceSoapBindingStub.java:215)
at de.xxx.AdminService_v2_0TestCase.test1AdminService_v2_0GetEnvironment(AdminService_v2_0TestCase.java:50)
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:324)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:474)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:342)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:194)
In the Axis-Java-Class "org.apache.axis.client.Call" around line 1800 the following condition is implemented
if ( operationName == null ) {
throw new AxisFault( Messages.getMessage("noOperation00") );
}
I downloaded "http://cvs.apache.org/dist/axis/nightly/axis-bin-1_4.zip" today and run WSDL2Java with my wsdl-file again and got the same error. Didn't Axis support "<wsdl:message ...>" without "<wsdl:part ... />"?
some notes
1) need wrapped-style
2) if i invoke the deployed service via "http://myService?method=getEnvironment" everything works fine
--
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] Commented: (AXIS-2376) incomplete generation of 'Stub' due
to missing of (WSDL-)Message
Posted by "Tom Jordahl (JIRA)" <ax...@ws.apache.org>.
[ http://issues.apache.org/jira/browse/AXIS-2376?page=comments#action_12363284 ]
Tom Jordahl commented on AXIS-2376:
-----------------------------------
You can't have a wrapped operation without the following conditions being met:
- Single part (a problem here)
- Part is an element with the same QName as the operation
If you don't do this, then you are going to put axis in to straight document/literal mode.
> incomplete generation of 'Stub' due to missing <wsdl:part .../> of (WSDL-)Message
> ---------------------------------------------------------------------------------
>
> Key: AXIS-2376
> URL: http://issues.apache.org/jira/browse/AXIS-2376
> Project: Apache Axis
> Type: Bug
> Components: WSDL processing
> Versions: current (nightly), 1.2.1, 1.3
> Environment: SuSE Linux Enterprise Server 9
> --
> Apache Tomcat/5.0.27
> --
> java version "1.4.2_03"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02)
> Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode)
> Reporter: Ronny Riedel
>
> I have the following lines in my wsdl-file
> [...]
> <!-- Funktion: "getEnvironment" -->
> <wsdl:message name="getEnvironmentRequest" />
> <wsdl:message name="getEnvironmentResponse">
> <wsdl:part element="tns1:getEnvironmentResponse" name="parameters"/>
> </wsdl:message>
> <!-- Funktion: "getEnvEntry" -->
> <wsdl:message name="getEnvEntryRequest">
> <wsdl:part element="tns1:getEnvEntry" name="parameters"/>
> </wsdl:message>
> <wsdl:message name="getEnvEntryResponse">
> <wsdl:part element="tns1:getEnvEntryResponse" name="parameters"/>
> </wsdl:message>
> [...]
> How you can see, the request of "getEnvironment" has no <wsdl:part .../>. Based on these WSDL-File, i created all java-objects with
> java -cp [necessary jar's] org.apache.axis.wsdl.WSDL2Java -s -S true -t environment.wsdl
> The generated stub contains the following lines
> /*
> *
> */
> public EnvEntry[] getEnvironment() throws RemoteException, NGITException {
> if (super.cachedEndpoint == null) {
> throw new org.apache.axis.NoEndPointException();
> }
> org.apache.axis.client.Call _call = createCall();
> _call.setOperation(_operations[0]);
> _call.setUseSOAPAction(true);
> _call.setSOAPActionURI("");
> _call.setEncodingStyle(null);
> _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);
> _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
> _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
> setRequestHeaders(_call);
> setAttachments(_call);
> [...]
> }
> /*
> *
> */
> public EnvEntry getEnvEntry(String p_strEnvEntryName) throws RemoteException, NGITException {
> if (super.cachedEndpoint == null) {
> throw new org.apache.axis.NoEndPointException();
> }
> org.apache.axis.client.Call _call = createCall();
> _call.setOperation(_operations[1]);
> _call.setUseSOAPAction(true);
> _call.setSOAPActionURI("");
> _call.setEncodingStyle(null);
> _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);
> _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
> _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
> _call.setOperationName(new javax.xml.namespace.QName("http://types.xxx.de/", "getEnvEntry"));
> setRequestHeaders(_call);
> setAttachments(_call);
> }
> How you can see, the function-call "_call.setOperationName([...])" of the _call-Object in the first function isn't created. If i run the corresponding JUnit-Test case, i got the following error for the function "getEnvironment()"
> AxisFault
> faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
> faultSubcode:
> faultString: No operation name specified!
> faultActor:
> faultNode:
> faultDetail:
> {http://xml.apache.org/axis/}stackTrace:No operation name specified!
> at org.apache.axis.client.Call.invoke(Call.java:1801)
> at de.xxx.AdminServiceSoapBindingStub.getEnvironment(AdminServiceSoapBindingStub.java:215)
> at de.xxx.AdminService_v2_0TestCase.test1AdminService_v2_0GetEnvironment(AdminService_v2_0TestCase.java:50)
> 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:324)
> at junit.framework.TestCase.runTest(TestCase.java:154)
> at junit.framework.TestCase.runBare(TestCase.java:127)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:118)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:474)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:342)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:194)
> {http://xml.apache.org/axis/}hostname:dbnu032
> No operation name specified!
> at org.apache.axis.client.Call.invoke(Call.java:1801)
> at de.xxx.AdminServiceSoapBindingStub.getEnvironment(AdminServiceSoapBindingStub.java:215)
> at de.xxx.AdminService_v2_0TestCase.test1AdminService_v2_0GetEnvironment(AdminService_v2_0TestCase.java:50)
> 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:324)
> at junit.framework.TestCase.runTest(TestCase.java:154)
> at junit.framework.TestCase.runBare(TestCase.java:127)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:118)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:474)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:342)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:194)
> In the Axis-Java-Class "org.apache.axis.client.Call" around line 1800 the following condition is implemented
> if ( operationName == null ) {
> throw new AxisFault( Messages.getMessage("noOperation00") );
> }
> I downloaded "http://cvs.apache.org/dist/axis/nightly/axis-bin-1_4.zip" today and run WSDL2Java with my wsdl-file again and got the same error. Didn't Axis support "<wsdl:message ...>" without "<wsdl:part ... />"?
> some notes
> 1) need wrapped-style
> 2) if i invoke the deployed service via "http://myService?method=getEnvironment" everything works fine
--
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] Commented: (AXIS-2376) incomplete generation of 'Stub' due
to missing of (WSDL-)Message
Posted by "Ronny Riedel (JIRA)" <ax...@ws.apache.org>.
[ http://issues.apache.org/jira/browse/AXIS-2376?page=comments#action_12363277 ]
Ronny Riedel commented on AXIS-2376:
------------------------------------
Hello, me again.
I don't know why but i had a look at the wsdl-file generated thround "http://url.to.my.service?wsdl". Functions without parameters handled different here. The relevant <wsdl:message> contains a <wsdl:part>-element. But the definition of these part contains an empty element:
<!--WSDL created by Apache Axis version: 1.2.1 Built on Nov 18, 2005 (12:32:57 CET)-->
<wsdl:definition [...]>
<wsdl:types>
<schema [...]>
<element name="getEnvironment">
<complexType /> <---------------------------------- empty element
</element>
</schema>
</wsdl:types>
<wsdl:message>
[...]
<wsdl:message name="getEnvironmentRequest">
<wsdl:part element="impl:getEnvironment" name="parameters"/>
</wsdl:message>
[...]
</wsdl:message>
[...]
</wsdl:definitions>
I took these part from the generated wsdl-file over to my wsdl-file and run WSDL2Java again, deployed the service and run the JUnit-Testcase and everything works fine.
My problem is solved, but why the necessary of such a construct? why not simply '<wsdl:message name="getEnvironmentRequest" />'?
reguards
ronny
> incomplete generation of 'Stub' due to missing <wsdl:part .../> of (WSDL-)Message
> ---------------------------------------------------------------------------------
>
> Key: AXIS-2376
> URL: http://issues.apache.org/jira/browse/AXIS-2376
> Project: Apache Axis
> Type: Bug
> Components: WSDL processing
> Versions: current (nightly), 1.2.1, 1.3
> Environment: SuSE Linux Enterprise Server 9
> --
> Apache Tomcat/5.0.27
> --
> java version "1.4.2_03"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02)
> Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode)
> Reporter: Ronny Riedel
>
> I have the following lines in my wsdl-file
> [...]
> <!-- Funktion: "getEnvironment" -->
> <wsdl:message name="getEnvironmentRequest" />
> <wsdl:message name="getEnvironmentResponse">
> <wsdl:part element="tns1:getEnvironmentResponse" name="parameters"/>
> </wsdl:message>
> <!-- Funktion: "getEnvEntry" -->
> <wsdl:message name="getEnvEntryRequest">
> <wsdl:part element="tns1:getEnvEntry" name="parameters"/>
> </wsdl:message>
> <wsdl:message name="getEnvEntryResponse">
> <wsdl:part element="tns1:getEnvEntryResponse" name="parameters"/>
> </wsdl:message>
> [...]
> How you can see, the request of "getEnvironment" has no <wsdl:part .../>. Based on these WSDL-File, i created all java-objects with
> java -cp [necessary jar's] org.apache.axis.wsdl.WSDL2Java -s -S true -t environment.wsdl
> The generated stub contains the following lines
> /*
> *
> */
> public EnvEntry[] getEnvironment() throws RemoteException, NGITException {
> if (super.cachedEndpoint == null) {
> throw new org.apache.axis.NoEndPointException();
> }
> org.apache.axis.client.Call _call = createCall();
> _call.setOperation(_operations[0]);
> _call.setUseSOAPAction(true);
> _call.setSOAPActionURI("");
> _call.setEncodingStyle(null);
> _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);
> _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
> _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
> setRequestHeaders(_call);
> setAttachments(_call);
> [...]
> }
> /*
> *
> */
> public EnvEntry getEnvEntry(String p_strEnvEntryName) throws RemoteException, NGITException {
> if (super.cachedEndpoint == null) {
> throw new org.apache.axis.NoEndPointException();
> }
> org.apache.axis.client.Call _call = createCall();
> _call.setOperation(_operations[1]);
> _call.setUseSOAPAction(true);
> _call.setSOAPActionURI("");
> _call.setEncodingStyle(null);
> _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);
> _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
> _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
> _call.setOperationName(new javax.xml.namespace.QName("http://types.xxx.de/", "getEnvEntry"));
> setRequestHeaders(_call);
> setAttachments(_call);
> }
> How you can see, the function-call "_call.setOperationName([...])" of the _call-Object in the first function isn't created. If i run the corresponding JUnit-Test case, i got the following error for the function "getEnvironment()"
> AxisFault
> faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
> faultSubcode:
> faultString: No operation name specified!
> faultActor:
> faultNode:
> faultDetail:
> {http://xml.apache.org/axis/}stackTrace:No operation name specified!
> at org.apache.axis.client.Call.invoke(Call.java:1801)
> at de.xxx.AdminServiceSoapBindingStub.getEnvironment(AdminServiceSoapBindingStub.java:215)
> at de.xxx.AdminService_v2_0TestCase.test1AdminService_v2_0GetEnvironment(AdminService_v2_0TestCase.java:50)
> 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:324)
> at junit.framework.TestCase.runTest(TestCase.java:154)
> at junit.framework.TestCase.runBare(TestCase.java:127)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:118)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:474)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:342)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:194)
> {http://xml.apache.org/axis/}hostname:dbnu032
> No operation name specified!
> at org.apache.axis.client.Call.invoke(Call.java:1801)
> at de.xxx.AdminServiceSoapBindingStub.getEnvironment(AdminServiceSoapBindingStub.java:215)
> at de.xxx.AdminService_v2_0TestCase.test1AdminService_v2_0GetEnvironment(AdminService_v2_0TestCase.java:50)
> 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:324)
> at junit.framework.TestCase.runTest(TestCase.java:154)
> at junit.framework.TestCase.runBare(TestCase.java:127)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:118)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:474)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:342)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:194)
> In the Axis-Java-Class "org.apache.axis.client.Call" around line 1800 the following condition is implemented
> if ( operationName == null ) {
> throw new AxisFault( Messages.getMessage("noOperation00") );
> }
> I downloaded "http://cvs.apache.org/dist/axis/nightly/axis-bin-1_4.zip" today and run WSDL2Java with my wsdl-file again and got the same error. Didn't Axis support "<wsdl:message ...>" without "<wsdl:part ... />"?
> some notes
> 1) need wrapped-style
> 2) if i invoke the deployed service via "http://myService?method=getEnvironment" everything works fine
--
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] Commented: (AXIS-2376) incomplete generation of 'Stub' due
to missing of (WSDL-)Message
Posted by "Ronny Riedel (JIRA)" <ax...@ws.apache.org>.
[ http://issues.apache.org/jira/browse/AXIS-2376?page=comments#action_12363268 ]
Ronny Riedel commented on AXIS-2376:
------------------------------------
(continued)
The problem is, I don't know what to do. the function is used to get the whole environment without restrictions. There is no need for parameters. But I want to receive a result. The used invoke-method needs a parameter I don't have/know. And the invoke-method without a parameter returns void. Also i need wrapped-style.
Is this a bug in axis or did i something wrong? Is there a workaround? I would change the code of the stub by hand if i know what to do.
regards
Ronny
> incomplete generation of 'Stub' due to missing <wsdl:part .../> of (WSDL-)Message
> ---------------------------------------------------------------------------------
>
> Key: AXIS-2376
> URL: http://issues.apache.org/jira/browse/AXIS-2376
> Project: Apache Axis
> Type: Bug
> Components: WSDL processing
> Versions: current (nightly), 1.2.1, 1.3
> Environment: SuSE Linux Enterprise Server 9
> --
> Apache Tomcat/5.0.27
> --
> java version "1.4.2_03"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02)
> Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode)
> Reporter: Ronny Riedel
>
> I have the following lines in my wsdl-file
> [...]
> <!-- Funktion: "getEnvironment" -->
> <wsdl:message name="getEnvironmentRequest" />
> <wsdl:message name="getEnvironmentResponse">
> <wsdl:part element="tns1:getEnvironmentResponse" name="parameters"/>
> </wsdl:message>
> <!-- Funktion: "getEnvEntry" -->
> <wsdl:message name="getEnvEntryRequest">
> <wsdl:part element="tns1:getEnvEntry" name="parameters"/>
> </wsdl:message>
> <wsdl:message name="getEnvEntryResponse">
> <wsdl:part element="tns1:getEnvEntryResponse" name="parameters"/>
> </wsdl:message>
> [...]
> How you can see, the request of "getEnvironment" has no <wsdl:part .../>. Based on these WSDL-File, i created all java-objects with
> java -cp [necessary jar's] org.apache.axis.wsdl.WSDL2Java -s -S true -t environment.wsdl
> The generated stub contains the following lines
> /*
> *
> */
> public EnvEntry[] getEnvironment() throws RemoteException, NGITException {
> if (super.cachedEndpoint == null) {
> throw new org.apache.axis.NoEndPointException();
> }
> org.apache.axis.client.Call _call = createCall();
> _call.setOperation(_operations[0]);
> _call.setUseSOAPAction(true);
> _call.setSOAPActionURI("");
> _call.setEncodingStyle(null);
> _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);
> _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
> _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
> setRequestHeaders(_call);
> setAttachments(_call);
> [...]
> }
> /*
> *
> */
> public EnvEntry getEnvEntry(String p_strEnvEntryName) throws RemoteException, NGITException {
> if (super.cachedEndpoint == null) {
> throw new org.apache.axis.NoEndPointException();
> }
> org.apache.axis.client.Call _call = createCall();
> _call.setOperation(_operations[1]);
> _call.setUseSOAPAction(true);
> _call.setSOAPActionURI("");
> _call.setEncodingStyle(null);
> _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);
> _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
> _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
> _call.setOperationName(new javax.xml.namespace.QName("http://types.xxx.de/", "getEnvEntry"));
> setRequestHeaders(_call);
> setAttachments(_call);
> }
> How you can see, the function-call "_call.setOperationName([...])" of the _call-Object in the first function isn't created. If i run the corresponding JUnit-Test case, i got the following error for the function "getEnvironment()"
> AxisFault
> faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
> faultSubcode:
> faultString: No operation name specified!
> faultActor:
> faultNode:
> faultDetail:
> {http://xml.apache.org/axis/}stackTrace:No operation name specified!
> at org.apache.axis.client.Call.invoke(Call.java:1801)
> at de.xxx.AdminServiceSoapBindingStub.getEnvironment(AdminServiceSoapBindingStub.java:215)
> at de.xxx.AdminService_v2_0TestCase.test1AdminService_v2_0GetEnvironment(AdminService_v2_0TestCase.java:50)
> 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:324)
> at junit.framework.TestCase.runTest(TestCase.java:154)
> at junit.framework.TestCase.runBare(TestCase.java:127)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:118)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:474)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:342)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:194)
> {http://xml.apache.org/axis/}hostname:dbnu032
> No operation name specified!
> at org.apache.axis.client.Call.invoke(Call.java:1801)
> at de.xxx.AdminServiceSoapBindingStub.getEnvironment(AdminServiceSoapBindingStub.java:215)
> at de.xxx.AdminService_v2_0TestCase.test1AdminService_v2_0GetEnvironment(AdminService_v2_0TestCase.java:50)
> 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:324)
> at junit.framework.TestCase.runTest(TestCase.java:154)
> at junit.framework.TestCase.runBare(TestCase.java:127)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:118)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:474)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:342)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:194)
> In the Axis-Java-Class "org.apache.axis.client.Call" around line 1800 the following condition is implemented
> if ( operationName == null ) {
> throw new AxisFault( Messages.getMessage("noOperation00") );
> }
> I downloaded "http://cvs.apache.org/dist/axis/nightly/axis-bin-1_4.zip" today and run WSDL2Java with my wsdl-file again and got the same error. Didn't Axis support "<wsdl:message ...>" without "<wsdl:part ... />"?
> some notes
> 1) need wrapped-style
> 2) if i invoke the deployed service via "http://myService?method=getEnvironment" everything works fine
--
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] Closed: (AXIS-2376) incomplete generation of 'Stub' due to
missing of (WSDL-)Message
Posted by "Tom Jordahl (JIRA)" <ax...@ws.apache.org>.
[ http://issues.apache.org/jira/browse/AXIS-2376?page=all ]
Tom Jordahl closed AXIS-2376:
-----------------------------
Resolution: Invalid
Please reopen if you really think there is a bug here.
> incomplete generation of 'Stub' due to missing <wsdl:part .../> of (WSDL-)Message
> ---------------------------------------------------------------------------------
>
> Key: AXIS-2376
> URL: http://issues.apache.org/jira/browse/AXIS-2376
> Project: Apache Axis
> Type: Bug
> Components: WSDL processing
> Versions: current (nightly), 1.2.1, 1.3
> Environment: SuSE Linux Enterprise Server 9
> --
> Apache Tomcat/5.0.27
> --
> java version "1.4.2_03"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02)
> Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode)
> Reporter: Ronny Riedel
>
> I have the following lines in my wsdl-file
> [...]
> <!-- Funktion: "getEnvironment" -->
> <wsdl:message name="getEnvironmentRequest" />
> <wsdl:message name="getEnvironmentResponse">
> <wsdl:part element="tns1:getEnvironmentResponse" name="parameters"/>
> </wsdl:message>
> <!-- Funktion: "getEnvEntry" -->
> <wsdl:message name="getEnvEntryRequest">
> <wsdl:part element="tns1:getEnvEntry" name="parameters"/>
> </wsdl:message>
> <wsdl:message name="getEnvEntryResponse">
> <wsdl:part element="tns1:getEnvEntryResponse" name="parameters"/>
> </wsdl:message>
> [...]
> How you can see, the request of "getEnvironment" has no <wsdl:part .../>. Based on these WSDL-File, i created all java-objects with
> java -cp [necessary jar's] org.apache.axis.wsdl.WSDL2Java -s -S true -t environment.wsdl
> The generated stub contains the following lines
> /*
> *
> */
> public EnvEntry[] getEnvironment() throws RemoteException, NGITException {
> if (super.cachedEndpoint == null) {
> throw new org.apache.axis.NoEndPointException();
> }
> org.apache.axis.client.Call _call = createCall();
> _call.setOperation(_operations[0]);
> _call.setUseSOAPAction(true);
> _call.setSOAPActionURI("");
> _call.setEncodingStyle(null);
> _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);
> _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
> _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
> setRequestHeaders(_call);
> setAttachments(_call);
> [...]
> }
> /*
> *
> */
> public EnvEntry getEnvEntry(String p_strEnvEntryName) throws RemoteException, NGITException {
> if (super.cachedEndpoint == null) {
> throw new org.apache.axis.NoEndPointException();
> }
> org.apache.axis.client.Call _call = createCall();
> _call.setOperation(_operations[1]);
> _call.setUseSOAPAction(true);
> _call.setSOAPActionURI("");
> _call.setEncodingStyle(null);
> _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);
> _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
> _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
> _call.setOperationName(new javax.xml.namespace.QName("http://types.xxx.de/", "getEnvEntry"));
> setRequestHeaders(_call);
> setAttachments(_call);
> }
> How you can see, the function-call "_call.setOperationName([...])" of the _call-Object in the first function isn't created. If i run the corresponding JUnit-Test case, i got the following error for the function "getEnvironment()"
> AxisFault
> faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
> faultSubcode:
> faultString: No operation name specified!
> faultActor:
> faultNode:
> faultDetail:
> {http://xml.apache.org/axis/}stackTrace:No operation name specified!
> at org.apache.axis.client.Call.invoke(Call.java:1801)
> at de.xxx.AdminServiceSoapBindingStub.getEnvironment(AdminServiceSoapBindingStub.java:215)
> at de.xxx.AdminService_v2_0TestCase.test1AdminService_v2_0GetEnvironment(AdminService_v2_0TestCase.java:50)
> 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:324)
> at junit.framework.TestCase.runTest(TestCase.java:154)
> at junit.framework.TestCase.runBare(TestCase.java:127)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:118)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:474)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:342)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:194)
> {http://xml.apache.org/axis/}hostname:dbnu032
> No operation name specified!
> at org.apache.axis.client.Call.invoke(Call.java:1801)
> at de.xxx.AdminServiceSoapBindingStub.getEnvironment(AdminServiceSoapBindingStub.java:215)
> at de.xxx.AdminService_v2_0TestCase.test1AdminService_v2_0GetEnvironment(AdminService_v2_0TestCase.java:50)
> 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:324)
> at junit.framework.TestCase.runTest(TestCase.java:154)
> at junit.framework.TestCase.runBare(TestCase.java:127)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:118)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:474)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:342)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:194)
> In the Axis-Java-Class "org.apache.axis.client.Call" around line 1800 the following condition is implemented
> if ( operationName == null ) {
> throw new AxisFault( Messages.getMessage("noOperation00") );
> }
> I downloaded "http://cvs.apache.org/dist/axis/nightly/axis-bin-1_4.zip" today and run WSDL2Java with my wsdl-file again and got the same error. Didn't Axis support "<wsdl:message ...>" without "<wsdl:part ... />"?
> some notes
> 1) need wrapped-style
> 2) if i invoke the deployed service via "http://myService?method=getEnvironment" everything works fine
--
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