[ https://issues.apache.org/jira/browse/AXIS2-4247?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Katherine Sanders updated AXIS2-4247: ------------------------------------- Attachment: (was: AXIS2-4247.patch) > JAX-WS API fails to build an endpoint reference (IllegalStateException) when > service is published with Endpoint.publish() > ------------------------------------------------------------------------------------------------------------------------- > > Key: AXIS2-4247 > URL: https://issues.apache.org/jira/browse/AXIS2-4247 > Project: Axis2 > Issue Type: Bug > Components: jaxws > Affects Versions: nightly > Environment: JDK 1.6.0_06, WinXP > Reporter: Franck Michel > Attachments: Axis2Test.java, LaunchAxis2Test.java, > WithwsdlLocation.patch > > > Hi, I'm facing a trouble using the Enpoint.publish() JAXWS API. I've checked > several issues that may be related, with no success until now : > https://issues.apache.org/jira/browse/AXIS2-3116?page=com.atlassian.jira.plugin.ext.subversion:subversion-commits-tabpanel > https://wso2.org/jira/browse/CARBON-738 > I'm using the last nightly build as some issues were fixed on this kind of > thing recently. > I publish a very basic WS Endpoint.publish(String url) API: the service seems > to be published (isPublished() returns true), but it fails to return an > endpoint reference. My code does this (the code of the web service is at the > end of this post): > Endpoint endPoint = Endpoint.create(new Axis2Test()); > endPoint.publish("http://localhost:8081/services/Test"); > logger.debug("isPublished: " + endPoint.isPublished()); > logger.debug("getProperties: " + endPoint.getProperties()); > logger.debug("getMetadata: " + endPoint.getMetadata()); > logger.debug("getEndpointReference: " + > endPoint.getEndpointReference()); > This fails on endPoint.getEndpointReference(), an returns: > 2009-02-23 11:28:37,242 [main] DEBUG > fr.anr.techlog.neurolog.server.LaunchStandaloneWebServices:18 - isPublished: > true > 2009-02-23 11:28:37,242 [main] DEBUG > fr.anr.techlog.neurolog.server.LaunchStandaloneWebServices:19 - > getProperties: null > 2009-02-23 11:28:37,242 [main] DEBUG > fr.anr.techlog.neurolog.server.LaunchStandaloneWebServices:20 - getMetadata: > null > 2009-02-23 11:28:37,492 [main] FATAL > fr.anr.techlog.neurolog.server.LaunchStandaloneWebServices:24 - Unable to > create server > java.lang.IllegalStateException: Unable to locate a deployed service that > maps to the requested endpoint, Service: {http://mypackage/}Axis2TestService, > Port: {http://mypackage/}Axis2TestPort > at > org.apache.axis2.jaxws.addressing.factory.impl.Axis2EndpointReferenceFactoryImpl.createEndpointReference(Axis2EndpointReferenceFactoryImpl.java:66) > at > org.apache.axis2.jaxws.addressing.factory.impl.Axis2EndpointReferenceFactoryImpl.createEndpointReference(Axis2EndpointReferenceFactoryImpl.java:97) > at > org.apache.axis2.jaxws.addressing.util.EndpointReferenceUtils.createAxis2EndpointReference(EndpointReferenceUtils.java:133) > at > org.apache.axis2.jaxws.server.endpoint.EndpointImpl.getEndpointReference(EndpointImpl.java:244) > at > org.apache.axis2.jaxws.server.endpoint.EndpointImpl.getEndpointReference(EndpointImpl.java:261) > at mypackage.LaunchA2xis2Test.main(LaunchA2xis2Test.java:21) > Also, accessing the service using Firefox returns this : > 2009-02-23 11:52:46,184 [HttpConnection-8081-2] ERROR > org.apache.axis2.engine.AxisEngine:212 - The service cannot be found for the > endpoint reference (EPR) /services/Test?wsdl > org.apache.axis2.AxisFault: The service cannot be found for the endpoint > reference (EPR) /services/Test?wsdl > at > org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:65) > at org.apache.axis2.engine.Phase.invoke(Phase.java:333) > at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:264) > at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:163) > at > org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:136) > at > org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:130) > at > org.apache.axis2.transport.http.HTTPWorker.service(HTTPWorker.java:257) > at > org.apache.axis2.transport.http.server.AxisHttpService.doService(AxisHttpService.java:281) > at > org.apache.axis2.transport.http.server.AxisHttpService.handleRequest(AxisHttpService.java:187) > at > org.apache.axis2.transport.http.server.HttpServiceProcessor.run(HttpServiceProcessor.java:82) > at > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061) > at > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575) > at java.lang.Thread.run(Thread.java:619) > In addition, a quite curious behaviour is this: when I get this URL, > http://localhost:8081/services/Axis2TestService.Axis2TestPort, I get a proper > service page with a correct list of available operations. However the link to > the wsdl (http://localhost:8081/services/Axis2TestService.Axis2TestPort?wsdl) > returns another error : > 2009-02-23 11:55:31,728 [HttpConnection-8081-4] WARN > org.apache.axis2.description.AxisService:1003 - Unable to generate EPR for > the transport : http > My web service code is the most simple that could be: > import javax.jws.WebService; > @WebService > public class Axis2Test > { > public Axis2Test() {} > public int getNumber() { > return 0; > } > } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.