Hi, All, I am encountering a problem when generating java stub from a wsdl using wsdl2java. Basically, I have a binding in WSDL like this:
<binding name="Connection_Operations" type="tns:Connection_Operations"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="Logout"> <soap:operation soapAction="function=Logout"/> <input> <soap:body use="literal"/> <soap:header message="tns:SecureConnection" part="session" use="literal"> </soap:header> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> And the operation is deinfed as this: <operation name="Logout"> <input message="tns:Logout_Input"/> <output message="tns:Logout_Output"/> </operation> The input message is deinfed as: <message name="Logout_Input"> </message> When I generated the java soap stub for the logout, it has no input parameter, so I have no way to set the soapHeader information. I will have to manually modify the code. Is this a known problem? Thanks much in advance. V. Here is the method in the stub that wsdl2java generates for me: public com.xxx.ResponseStatus logout() throws java.rmi.RemoteException { if (super.cachedEndpoint == null) { throw new org.apache.axis.NoEndPointException(); } org.apache.axis.client.Call _call = createCall(); _call.setOperation(_operations[2]); _call.setUseSOAPAction(true); _call.setSOAPActionURI("function=Logout"); _call.setOperationStyle("document"); _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("", "Logout")); setRequestHeaders(_call); setAttachments(_call); try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {}); if (_resp instanceof java.rmi.RemoteException) { throw (java.rmi.RemoteException)_resp; } else { extractAttachments(_call); try { return (com.xxx.ResponseStatus) _resp; } catch (java.lang.Exception _exception) { return (com.xxx.ResponseStatus) org.apache.axis.utils.JavaUtils.convert(_resp, com.xxx.ResponseStatus.class); } } } catch (org.apache.axis.AxisFault axisFaultException) { throw axisFaultException; } } ____________________________________________________________________________________ Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ