On Wednesday 24 September 2008 6:29:15 pm jackdawson wrote:
> I've a question which is pricking me now. I made only this change and it
> worked absolutely fine.
>
> Before the change:
> LoginService_Service ss = new LoginService_Service(wsdlURL, SERVICE_NAME);
> LoginService port = ss.getLoginService();
>
> After the change:
> I replaced the above statements with the ones below:
> Service jaxwsService = Service.create(wsdlURL, SERVICE_NAME);
> LoginService port = jaxwsService.getPort(LoginService.class);
>
> Can you please explain me what difference did it make?
> The LoginService_Service extends Service class yet it failed to run.

It's possible that it's not detecting an appropriate port in the wsdl based on 
the annotations on the LoginService interface.    If you use the:
getPort(QName name, Class<T> cls)
method instead to pass in the correct port name, it should work more reliably.

The generated 
 ss.getLoginService();
method does just that.   It has the port qname burned into the code from the 
wsdl and pretty much calls the getPort(name, LoginService.class) method.

Dan


>
> Thanks.
>
> jackdawson wrote:
> > Thanks Glen. You are the ONE.
> > The 2nd one worked for me. I didn't try the 1st one though.
> >
> > Glen Mazza wrote:
> >> 1.) Absolutely--just make sure your client is using the right WSDL on
> >> the local machine (the *Service.java JAX-WS artifact will give you the
> >> default hardcoded filename used, or you can use specify the WSDL as
> >> shown in the testcases in Step #1, substep #2 here:
> >> http://www.jroller.com/gmazza/entry/writing_junit_test_cases_for)
> >>
> >> 2.)  That'll work also.  Set the ENDPOINT_ADDRESS_PROPERTY as shown in
> >> Step #7 here:
> >> http://www.jroller.com/gmazza/entry/using_the_ebay_shopping_api1
> >>
> >> The error message "Parameter XXX doesn't exist", BTW, may indicate
> >> you're using an rpc/encoded WSDL, which not supported by CXF or
> >> Metro--but I'm unsure here.
> >>
> >> Glen
> >>
> >> jackdawson wrote:
> >>> Hi all,
> >>>
> >>> I have a WSDL which has the soap address pointed to a service in the
> >>> production environment. I would like to create a client from this WSDL
> >>> but I would like to use the service in the development environment and
> >>> not in the production.
> >>> ANd now, my questions are:
> >>>                   1. Can I change the soap address in the WSDL to point 
> >>> to the
> >>> service in the development environment?
> >>>                   2. Or, should I change the serive URL in the client 
> >>> code after
> >>> generating it from the WSDL?
> >>>
> >>>                   If I follow step 1 then I keep getting the exception 
> >>> whenever I
> >>> try to vall the service: Parameter xxxxx doesn't exist.
> >>>                   If I follow step 2 then:
> >>>                           a.) firstly, I get the UnknownHostException
> >>>                           b.) I couldn't find a way to change the URL in 
> >>> the client.
> >>>                   I know in XFire I can use this:
> >>> org.codehaus.xfire.client.Client.getInstance(service).setUrl(service_ur
> >>>l);



-- 
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog

Reply via email to