DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9884>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9884

Service.createCall(port, operation) failing without WSDL

           Summary: Service.createCall(port, operation) failing without WSDL
           Product: Axis
           Version: current (nightly)
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Critical
          Priority: Other
         Component: Basic Architecture
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]


Service s = ServiceFactory.createService(serviceName);
s.createCall(portName, operationName);

This throws an exception:

ERROR: Caught exception: Missing WSDL document
 ERROR: 
javax.xml.rpc.JAXRPCException: Missing WSDL document

        at org.apache.axis.client.Call.setOperation(Call.java:890)

        at org.apache.axis.client.Service.createCall(Service.java:477)

        at 
com.sun.ts.tests.jaxrpc.api.javax_xml_rpc.Service.Client.CreateCallConstructor3T
est1(Client.java:306)

...

The createCall method does too much.  We never gave createService a WSDL file, 
so the caller must provide lots of info (like endpoint address) to the Call 
object.  But createCall(port, operation) is already looking for WSDL.  There's 
no way to give the Call object the WSDL info before you get the Call object!

Note that dims recently fixed the createCall(portName) method.  It used to throw 
this same exception.

This problem was discovered by the TCK.

Reply via email to