cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Johnson, Eric" <Eric.John...@iona.com>
Subject RE: FW: Java first question
Date Thu, 07 Dec 2006 04:48:01 GMT
Willem,
Thanks for the help. I'll give it a go in the morning!!
Cheers,
Eric 

> -----Original Message-----
> From: Willem Jiang [mailto:ning.jiang@iona.com] 
> Sent: Wednesday, December 06, 2006 11:34 PM
> To: cxf-dev@incubator.apache.org
> Subject: Re: FW: Java first question
> 
> Hi Eric,
> 
> I think your client side code need to be changed to get the 
> connect to the server.
> Here are two ways to create client.
> 
> 1.  Code first , as you know , when you use code first to 
> create webservice, you need to specify the endpoint address 
> or the ServerFactoryBean will build an default address for you.
>      That means from the Java code we can't get the address 
> to build up the endpoint information.
>      So when you use
>      Service s = Service.create(serviceName);
>      to create endpoint info, you can use  addport to specify 
> the detail binding and address info.
>      service.addPort(portName, "http://schemas.xmlsoap.org/soap/",
>                         "http://localhost:9000/SoapContext/SoapPort");
>      quoteReporter proxy = s.getPort(portName, quoteReporter.class);
>     The example you can find from
> org.apache.cxf.systest.jaxws.ClientServerTest's testAddPort.
> 
> 2.  WSDL first, if you alread get the wsdl file, you just can use
>      Service s = Service.create(wsdlURL, servcieName);
>      QName portName = new QName("http://demo.eric.org", 
> "stockQuoteReporterPort");
>      quoteReporter proxy = s.getPort(portName);
> 
> Thanks,
> 
> Willem.
> 
> Johnson, Eric wrote:
> 
> >  
> >
> >>-----Original Message-----
> >>From: Johnson, Eric [mailto:Eric.Johnson@iona.com]
> >>Sent: Wednesday, December 06, 2006 1:20 PM
> >>To: cxf-dev@incubator.apache.org
> >>Subject: RE: FW: Java first question
> >>
> >>I got the server running and now I created the following 
> client code 
> >>to connect to it:
> >>package org.eric.demo;
> >>
> >>import java.io.File;
> >>import java.net.URL;
> >>import javax.xml.namespace.QName;
> >>import javax.xml.ws.Service;
> >>
> >>public class Client
> >>{
> >>public static void main(String args[])
> >>  {
> >>    QName serviceName = new QName("http://demo.eric.org", 
> >>"stockQuoteReporter");
> >>    Service s = Service.create(serviceName);
> >>	System.out.println("Service "+serviceName+" created...");
> >>	quoteReporter proxy = s.getPort(quoteReporter.class);
> >>	System.out.println("Proxy created...");
> >>	Quote quote = proxy.getQuote("ALPHA");
> >>	System.out.println("Stock "+quote.getID()+" is worth 
> >>"+quote.getVal()+" as of "+quote.getTime());
> >>  }
> >>}
> >>
> >>The SEI is as follows:
> >>package org.eric.demo;
> >>
> >>import javax.jws.*;
> >>
> >>@WebService(name="quoteReporter")
> >>public interface quoteReporter
> >>{
> >>  public Quote getQuote(String ticker); }
> >>
> >>When I run the client I get the following:
> >>client:
> >>     [java] Service {http://demo.eric.org}stockQuoteReporter
> >>created...
> >>     [java] Exception in thread "main" 
> >>javax.xml.ws.WebServiceException:
> >>Unable to determine port name.
> >>     [java]     at
> >>org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:267)
> >>     [java]     at
> >>org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:193)
> >>     [java]     at javax.xml.ws.Service.getPort(Service.java:120)
> >>     [java]     at org.eric.demo.Client.main(Client.java:15)
> >>
> >>What do I need to do to get the client to connect?
> >> 
> >>
> >>    
> >>
> 
> 

Mime
View raw message