Sto tentando di eseguire la mia applicazione che contiene JAX WS (2.1) Webservice utilizzando JDeveloper 11g R2 (11.1.2.3.0) in JDK 1.6.0_31-b05. L'errore proviene dall'annotazione di @WebService presente sulla classe.
Quando sto facendo funzionare l'applicazione, sto ottenendo sotto l'errore,Eccezione annotazione @Webservice su weblogic
java.lang.IllegalArgumentException: Argument(s) "type" can't be null. at com.sun.xml.bind.api.TypeReference.<init>(TypeReference.java:89) at com.sun.xml.ws.model.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:758) at com.sun.xml.ws.model.RuntimeModeler.processMethod(RuntimeModeler.java:678) at com.sun.xml.ws.model.RuntimeModeler.processClass(RuntimeModeler.java:428) at com.sun.xml.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:277) at com.sun.xml.ws.server.EndpointFactory.createSEIModel(EndpointFactory.java:363) at com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:202) at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:496) at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:539) at weblogic.wsee.jaxws.JAXWSDeployedServlet.getEndpoint(JAXWSDeployedServlet.java:183)
Sembra che incorporato logica Web utilizza le librerie interne anziché fornito uno da JDK. Le classi RuntimeModeler
o TypeReference
sono presenti in JDK rt.jar e iniziano con il pacchetto com.sun.xml.ws.internal. Weblogic sta selezionando queste classi da glassfish.jaxb_1.0.0.0_2-1-12.jar & glassfish.jaxws.rt_1.2.0.0_2-1-5.jar, ma questi barattoli non fanno parte della mia applicazione.
Ho già usato weblogic.xml con sotto etichetta,
<prefer-web-inf-classes>true</prefer-web-inf-classes>
Ho provato ad aggiungere jaxws-api.jar & JWS-api.jar in DefaultDomain directory/lib, ma che didn' t lavoro
Qualsiasi idea di come risolvere questa eccezione o come forzare weblogic di utilizzare classi di runtime JDK? La stessa applicazione funziona correttamente su weblogic stand alone.
Hai mai trovato una risposta a questo? – Nick