2013-05-20 4 views
0

이제이 새로운 문제가 있습니다. 저는 Glassfish 3.1.2.2를 사용하여 서버 외부의 다른 응용 프로그램, 주로 스윙 데스크탑 응용 프로그램과 통신하는 웹 서비스가있는 응용 프로그램을 호스팅합니다. 모든 것이 정상적으로 작동하지만 (항상 그렇지만), 어떤 이유로 glassfish를 다시 시작해야한다면, destop 어플리케이션은 ws를 찾지 못했기 때문에 Glassfish에서 어플리케이션을 재배포해야하며 모든 것이 잘 작동합니다.재시작 후 웹 서비스를 사용할 수 없습니다.

처음에는 데스크톱 클라이언트에 문제가 있다고 생각 했으므로 웹 서비스에 대한 연결을 새로 고치지 않았습니다. 그 후, 우리는 그 작업을 수행 할 넷빈즈 옵션에서 웹 서비스를 테스트하고 우리는이 경고를 얻을 :

enter image description here

우리는 응용 프로그램이 될 것입니다 때 게스트로 응용 프로그램을 다시 배포하는 것이었다 발견 된 솔루션 생산시 이것이 받아 들일 수없는 해결책은 아닙니다.

내 응용 프로그램은 Netbeans 7.3, JSF 2.0, PrimeFaces 3.5, JPA 2.0을 사용하여 7.0.21의 jdk로 빌드되며 웹 서비스는 tutorial 다음에 생성되었습니다. 스레드에서

예외 "AWT-EventQueue의-0"com.sun.xml.internal.ws.client.ClientTransportException :

데스크톱 테스트 응용 프로그램의 로그에 수신 한 메시지입니다 서버 HTTP 상태 코드 404를 보냄 : 찾을 수 없음 com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.checkStatusCode (HttpTransportPipe.java:296) at com.sun.xml.internal.ws.transport. http.client.HttpTransportPipe.createResponsePacket (HttpTransportPipe.java:245) com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process (HttpTransportPipe.java:203) at com.sun.xml. 중간 nal.ws.transport.http.client.HttpTransportPipe.processRequest (HttpTransportPipe.java:122) com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest (DeferredTransportPipe.java:95) at com.sun. xml.internal.ws.api.pipe.Fiber .__ doRun (Fiber.java:626) (com.sun.xml.internal.ws.api.pipe.Fiber._doRun (Fiber.java:585) at com). sun.xml.internal.ws.api.pipe.Fiber.doRun (Fiber.java:570) at com.sun.xml.internal.ws.api.pipe.Fiber.runSync (Fiber.java:467) at com.sun.xml.internal.ws.client.Stub.process 012ub16.png com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke (SyncMethodHandler.java:98) at com.sun.xml.intern al.ws.client.sei.SyncMethodHandler.invoke (SyncMethodHandler.java:78) com.sun.xml.internal.ws.client.sei.SEIStub.invoke (SEIStub.java:129) at com.sun. COM에서 com.spontecorp.testws.TestWSFrame.access $ 50 (TestWSFrame.java:14)에서 com.spontecorp.testws.TestWSFrame.invokeWSButtonActionPerformed에서 프록시. $ Proxy30.hello (알 수없는 소스) (TestWSFrame.java:137) (AbstractButton.java:2018) (javax.swing.AbstractButton에서) $ Handler.actionPerformed (javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPress) ed (DefaultButtonModel.java:259) 에서 javax.swing.plaf.basic.BasicButtonListener.mouseReleased (BasicButtonListener.java:252) at java.awt.Component.processMouseEvent (Component.java:6505) 에서 javax.swing. processMouseEvent (JComponent.java : 3321) at java.awt.Component.processEvent (Component.java:6270) at java.awt.Container.processEvent (Container.java:2229) at java.awt.Component.dispatchEventImpl (Component.java : 4861) at java.awt.Container.dispatchEventImpl (Container.java:2287) at java.awt.Component.dispatchEvent (Component.java:4687) at java.awt.LightweightDispatcher.retargetMouseEvent (Container.java:4832) java.awt.Container.dispatchEventImpl에서 java.awt.LightweightDispatcher.dispatchEvent (Container.java:4422) 에서 java.awt.LightweightDispatcher.processMouseEvent (Container.java:4492) (Container.java:2273) 에서 에서 java.awt.Window.dispatchEventImpl (Window.java:2719) at java.awt.Component.dispatchEvent (Component.java:4687) java.awt.EventQueue.dispatchEventImpl (EventQueue.java:729)에서 at java.awt.EventQueue.access $ 200 (EventQueue.java:103) at java .awt.EventQueue $ 3.run (EventQueue.java:688) at java.awt.EventQueue $ 3.run (EventQueue.java:686) at java.security.AccessController.doPrivileged (네이티브 메소드) at java.security. ProtectionDomain $ 1.doIntersectionPrivilege (ProtectionDomain.java:76)at java.security.ProtectionDomain $ 1.doIntersectionPrivilege (ProtectionDomain.java:87) at java.awt.EventQueue $ 4.run (EventQueue.java:702) at java.awt .EventQueue $ 4.run (EventQueue.java:700) at java.security.AccessController.doPrivileged (네이티브 메소드) 012 java.awt.EventDispatchThread.pumpOneEventForFilters에서 java.awt.EventQueue.dispatchEvent (EventQueue.java:699) 에서 java.security.ProtectionDomain $ 1.doIntersectionPrivilege (ProtectionDomain.java:76) (EventDispatchThread.java:242)에서 3,516, 자바에서 java.awt.EventDispatchThread.pumpEvents에서 java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.java:150) 에서 java.awt.EventDispatchThread.pumpEventsForFilter (EventDispatchThread.java:161) (EventDispatchThread.java:146)에서 .awt.EventDispatchThread.pumpEvents (EventDispatchThread.java:138) (EventDispatchThread.java:91)

내 질문 : - 웹 서비스를 제공하는 응용 프로그램을 배포 한 후 Glassfish에서 설정해야합니까? 그렇다면 어디에서?

답변

0

refractoring 후 동일한 문제가 있었는데 서버에서 새 웹 서비스를 만든 다음 (이전 코드 만 복사해야 함) 새 WSDL을 다시 가져 와서 코드를 올바르게 변경해야합니다. 웹 서비스의 이름). 나를 적어도 refractoring 후 나는

com.package.class.MyWebService_Service service; 

그나마 이유를 알고 호출 할 수에 대한

문제는, 그리고 더 나은 이것에 대한 해결책 대신 "재창조"는 아마이있다.

+0

나는이 해결책을 너무 시도 할 것이다. 내가 해결책을 얻는다면 여기에 알려 드리겠습니다. –

0

귀하의 케이스에서 도움이 될지 모르지만 적어도 tutorial은 나에게 적합하지 않습니다. 내가 가진 오류는 동일했습니다 : "com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 404: Not Found".

웹 서비스에 대한 참조를 다시 작성하여 웹 서비스 클라이언트를 작동시킬 수있었습니다. 문제는 http://localhost:8080/FlowerAlbumService/FlowerService?wsdl을 참조했지만 서비스는 http://localhost:8080/FlowerServiceService/FlowerService?wsdl (testing the web service으로 볼 수 있습니다)에서 실행되고있었습니다.

클라이언트의 웹 서비스 참조 노드에서 웹 서비스를 삭제하고 새 웹 서비스 클라이언트를 만들고 WSDL URL로 http://localhost:8080/FlowerServiceService/FlowerService?wsdl을 지정했습니다. 아마 이것은 또한 당신의 문제를 해결하는 데 도움이됩니다.

+0

자, 해결책을 찾아 보겠습니다. 문제를 해결할 수 있다면 여기에 게시 할 것입니다. –

+0

나는 다른 상황이 있는지 확인했다. 내 문제는 글래스 피쉬 서버를 다시 시작한 후에 발생합니다. –

관련 문제