最近关注 WebService,尝试CXF的一个 Client 样例(http://svn.apache.org/repos/asf/cxf/trunk/distribution/src/main/release/samples/java_first_jaxws/src/demo/hw/client/Client.java)时,修改一下,运行,总是报这个错:
Caused by: java.net.MalformedURLException: Invalid address. Endpoint address cannot be null.
……
本来想跳过它了,但是很简单的修改,如下
public static final QName SERVIVE_NAME = new QName(
“http://ws.leegorous.net”, “Hello”);
public static final QName PORT_NAME = new QName(
“http://ws.leegorous.net”, “HelloPort”);
public static void main(String[] args) {
Service service = Service.create(SERVIVE_NAME);
String endpointAddress = “http://localhost:9000/hello”;
service.addPort(PORT_NAME, SOAPBinding.SOAP11HTTP_BINDING,
endpointAddress);
Hello srv = service.getPort(Hello.class);
System.out.println(srv.sayHi(”Leegorous”));
}
感觉离真相很近,但怎么都搞不着的感觉真是糟糕~
于是开始调试,调试一下也不错,可以顺便大概了解下过程,但是越挖掘,越觉得奇怪。小说电视里,经常吹嘘当找不到方向时不妨回到原点,这个的原点就是我修改的部分。
很奇怪的发现样例里初始化QName的第一个参数是以”/”结尾的,我想不会吧。
一边质疑着自己,一边加上斜杠,运行测试,居然成功了!
public static final QName SERVIVE_NAME = new QName(
“http://ws.leegorous.net/”, “Hello”);
public static final QName [...]

Recent Comments