[ 
https://issues.apache.org/jira/browse/OPENEJB-2092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13994890#comment-13994890
 ] 

Xavier Dury commented on OPENEJB-2092:
--------------------------------------

But when I tried to inject my test class with a @WebServiceRef, it is using the 
port 0:

{code}
javax.xml.ws.WebServiceException: 
org.apache.cxf.service.factory.ServiceConstructionException: Failed to create 
service.
        at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:149)
        at 
org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:98)
        at 
org.apache.openejb.core.webservices.ProviderWrapper.createServiceDelegate(ProviderWrapper.java:121)
        at javax.xml.ws.Service.<init>(Service.java:77)
        at javax.xml.ws.Service.create(Service.java:707)
        at 
org.apache.openejb.core.ivm.naming.JaxWsServiceReference.getObject(JaxWsServiceReference.java:122)
        at 
org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:174)
        at 
org.apache.openejb.core.ivm.ContextHandler.lookup(ContextHandler.java:50)
        at 
org.apache.openejb.InjectionProcessor.fillInjectionProperties(InjectionProcessor.java:215)
        at 
org.apache.openejb.InjectionProcessor.construct(InjectionProcessor.java:119)
        at 
org.apache.openejb.InjectionProcessor.createInstance(InjectionProcessor.java:90)
        at 
org.apache.openejb.testing.ApplicationComposers.before(ApplicationComposers.java:715)
        at 
org.apache.openejb.testing.ApplicationComposers.evaluate(ApplicationComposers.java:791)
        at 
org.apache.openejb.junit.DeployApplication.evaluate(DeployApplication.java:39)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
        at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
        at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.apache.cxf.service.factory.ServiceConstructionException: Failed 
to create service.
        at 
org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:100)
        at 
org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:203)
        at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:147)
        ... 28 more
Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: 
Problem parsing 'http://127.0.0.1:0/EjbModule699121260/EchoService?wsdl'.: 
java.net.ConnectException: connect: Address is invalid on local machine, or 
port is not valid on remote machine
        at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(WSDLReaderImpl.java:2198)
        at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2390)
        at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2422)
        at 
org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:250)
        at 
org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:193)
        at 
org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:98)
        ... 30 more
Caused by: java.net.ConnectException: connect: Address is invalid on local 
machine, or port is not valid on remote machine
        at java.net.DualStackPlainSocketImpl.connect0(Native Method)
        at 
java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
        at 
java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
        at 
java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
        at 
java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:579)
        at java.net.Socket.connect(Socket.java:528)
        at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
        at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
        at sun.net.www.http.HttpClient.New(HttpClient.java:308)
        at sun.net.www.http.HttpClient.New(HttpClient.java:326)
        at 
sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:996)
        at 
sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:932)
        at 
sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:850)
        at 
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1300)
        at 
com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:637)
        at 
com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:189)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:812)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
        at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
        at 
com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)
        at 
com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:347)
        at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(WSDLReaderImpl.java:2188)
        ... 35 more
{code}

> Allow easy offsetting of all OpenEJB ports
> ------------------------------------------
>
>                 Key: OPENEJB-2092
>                 URL: https://issues.apache.org/jira/browse/OPENEJB-2092
>             Project: OpenEJB
>          Issue Type: Wish
>          Components: configuration
>            Reporter: Xavier Dury
>            Priority: Minor
>
> When Hudson/Jenkins is building/testing multiple branches of our project 
> (which uses straight OpenEJB in tests), there can be ports conflicts between 
> the various running instances of the OpenEJB container.
> A workaround is to override all OpenEJB ports for each branch (job in 
> Hudson/Jenkins) with -Dhttpejbd.port=xxxx -Dejbd.port=yyyy -Dejbds.port=zzzz.
> It would be easier to specify only one offset for all ports that are used by 
> OpenEJB -Dopenejb.ports.offset=1000



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to