Simon Laws wrote:
I uncommented the lines in this code

    protected Port createPort(Definition definition, Binding binding,
Service service) throws WSDLException {
        Port port = definition.createPort();
        port.setBinding(binding);
        configurePort(definition, port, binding);
        /*
        ExtensibilityElement soapAddress =
            definition.getExtensionRegistry().createExtension(Port.class,
SOAP_ADDRESS);
        ((SOAPAddress)soapAddress).setLocationURI("");
        port.addExtensibilityElement(soapAddress);
        */
        service.addPort(port);
        return port;

And now ?wsdl returns

<wsdl:service name="HelloWorld__Service">
    <wsdl:port name="HelloWorld__SOAPHTTPPort"
binding="tns:HelloWorld__SOAPBinding">
<wsdlsoap:address location="http://192.168.247.1:8085/HelloWorldService"/>
</wsdl:port>
</wsdl:service>

So the URI must be inserted later on from the binding URI. My hunch was
wrong there. Why are these lines commented out?

Simon

I have been investigating how this used to work before the code
change in r633216.

If these lines in createPort() are uncommented, a WSDL document with
a soap:address URI of "" is passed to Axis2 to create the service.

This may seem like a problem, but actually it's OK.  On the client
side, the correct URI is computed by getWSATOEPR() when creating
the Axis2 binding invoker.  On the service side, the correct URI
is computed and added to the servlet host.

When "?wsdl" is sent to the Axis2 servlet, Axis2 is smart enough
to use the actual URI from the "?wsdl" invocation and insert that
in the WSDL document that it returns, overriding the "" that was
put there by Tuscany.

So I believe that uncommenting these lines in createPort() would
provide a fix (or at least an acceptable workaround for now).

  Simon

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to