-
Java First using JAX-WS APIs 예제 에러 해결개발 2013. 3. 13. 16:50
CXF프로젝트를 처음 접하고 사용해보기 위해서 아파치 사이트의 유저가이드를 보게되는데
http://cxf.apache.org/docs/sample-projects.html 여기있는 Java First using JAX-WS APIs 예제 샘플을 돌려보면 아래와 같은 에러가 나온다.
org.apache.cxf.interceptor.Fault: Could not send Message. at org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:48)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:530)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:463)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:366)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:319)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)
at $Proxy39.sayHi(Unknown Source)
at com.tistory.codesnippet.cxf.client.Client.main(Client.java:53)
Caused by: java.net.MalformedURLException: Invalid address. Endpoint address cannot be null.
at org.apache.cxf.transport.http.HTTPConduit.getURL(HTTPConduit.java:757)
at org.apache.cxf.transport.http.HTTPConduit.getURL(HTTPConduit.java:741)
at org.apache.cxf.transport.http.HTTPConduit.setupURL(HTTPConduit.java:685)
at org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:475)
at org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:46)
... 9 more
Exception in thread "main" javax.xml.ws.WebServiceException: Could not send Message.
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:145)
at $Proxy39.sayHi(Unknown Source)
at com.tistory.codesnippet.cxf.client.Client.main(Client.java:53)
Caused by: java.net.MalformedURLException: Invalid address. Endpoint address cannot be null.
at org.apache.cxf.transport.http.HTTPConduit.getURL(HTTPConduit.java:757)
at org.apache.cxf.transport.http.HTTPConduit.getURL(HTTPConduit.java:741)
at org.apache.cxf.transport.http.HTTPConduit.setupURL(HTTPConduit.java:685)
at org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:475)
at org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:46)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:530)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:463)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:366)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:319)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)
... 2 more
http://cxf.apache.org/docs/a-simple-jax-ws-service.html#AsimpleJAX-WSservice-WritingyourService
위의 링크를 보면 클라이언트와 서버 구현이 있다.
내용에 보면 alternative approach 부분으로 원래의 구현을 변경하거나
Client 구현의 HelloWorld hw = service.getPort(HelloWorld.class); 이부분에 아래와 같이 파라미터를 추가한다.
HelloWorld hw = service.getPort(PORT_NAME, HelloWorld.class);
왜 에러가 안나는지는 좀더 확인해야겠다.
'개발' 카테고리의 다른 글
[외부] Flex 기반 Vector Drawing Editor (0) 2014.04.08 [actionscript] puremvc (0) 2014.04.02 CXF 유저가이드의 샘플 Checkout 받기 (0) 2013.03.13 xstream을 이용한 Marshal, Unmarshal (0) 2013.03.12 [WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent! (1) 2013.03.12