I sent an earlier query about adding WS-Addressing to a message sent by a generated client and received no response, so I kept digging.

I discovered the AddressingOutHandler, and added it to my outgoing handler list, but that did not work.

By adding debugging and recompiling XFire 1.2.5, I can see that the handler is being called, but no headers are being added because the "OperationInfo" does not have a "AddressingOperationInfo" object associated with it.

How can I make sure that tan operation generated by "wsgen" has "AddressingOperationInfo" set?

The relevant WSDL snippet is:

      <wsdl:operation name="Subscribe">
         <wsdl:input xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl";
                     message="eb:SubscribeMsg"
                     
wsaw:Action="http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe"/>
        <wsdl:output xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl";
                     message="eb:SubscribeResponseMsg"/>
     </wsdl:operation>

The relevant code is:
        EventBrokerClient ebClient = new EventBrokerClient();
        EventBrokerPortType eventBroker = 
ebClient.getEventBrokerSOAP11port_http(LOCALHOST_URL);
        Client client = ((XFireProxy) 
Proxy.getInvocationHandler(eventBroker)).getClient();
        client.addOutHandler(new DOMOutHandler());
        client.addOutHandler(new AddressingOutHandler());
        ...
        eventBroker.subscribe(subscribeMsg);

Thanks in advance for any help.

- Eric



---------------------------------------------------------------------
To unsubscribe from this list please visit:

   http://xircles.codehaus.org/manage_email

Reply via email to