[jboss-user] [JBossWS] - Re: Writing a client - no examples for BindingProvider based

mjhammel do-not-reply at jboss.com
Mon Jan 14 12:19:25 EST 2008


"jeff norton" wrote : I use the same wsprovide and wsconsume targets that you do, but the client still seems to need the WSDL in order to create the service endpoint.  

My client doesn't call Service.create() directly.  Instead, I reference the client side classes generated by wsconsume:

            SubscriberServicesService service = new SubscriberServicesService();
  |             ss = service.getSubscriberWSPort();
  | 
  |             /* Set NEW Endpoint Location */
  |             BindingProvider bp = (BindingProvider)ss;
  |             bp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, crunchServer);
  | 
  |             /* Setup to authenticate with the server. */
  |             bp.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, subscriberID);
  |             bp.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, pw);

The SubscriberServicesService class is one of the classes created by wsconsume.  In it you'll find a hard coded path to the WSDL file created by wsprovide.  However, this class also has a constructor that can change the location of this file.  So when you package your client for use by end users you include the WSDL file generated by wsprovide and reference it's installed location when you do:

SubscriberServicesService service = new SubscriberServicesService("installedLocation/WSDLfile", qname);

My problem is I still don't know what a qname is so I'm not sure how to figure that out at run time so I can update the WSDL location in this manner.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4119744#4119744

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4119744



More information about the jboss-user mailing list