2 Replies Latest reply on Dec 5, 2012 5:31 PM by Roger Huang

    Can't access JAX-WS WSDL except via "localhost" URL

    Roger Huang Newbie

      Hi,

      I created a JAX-WS web service starting from a WSDL (contract-first), using

      wsconsume -k JimmySoaTest.wsdl

       

      It seems to publish ok on JBoss AS 7.1.3, on Windows Enterprise 7.

      Server log:

      17:19:30,812 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-4) JBA

      S015876: Starting deployment of "JimmySoaTest2.war"

      17:19:30,959 INFO  [org.jboss.wsf.stack.cxf.metadata.MetadataBuilder] (MSC servi

      ce thread 1-9) Add Service

      id=SoaTestImpl

      address=http://localhost:8080/JimmySoaTest2

      implementor=com.paypal.svcs.services.SoaTestImpl

      invoker=org.jboss.wsf.stack.cxf.JBossWSInvoker

      serviceName={http://svcs.paypal.com/services}SoaTest

      portName={http://svcs.paypal.com/services}SoaTestSOAP11port_http

      wsdlLocation=null

      mtomEnabled=false

      17:19:30,976 INFO  [org.apache.cxf.service.factory.ReflectionServiceFactoryBean]

      (MSC service thread 1-9) Creating Service {http://svcs.paypal.com/services}SoaT

      est from WSDL: WEB-INF/wsdl/JimmySoaTest.wsdl

      17:19:31,041 INFO  [org.jboss.wsf.stack.cxf.transport.AddressRewritingEndpointIn

      fo] (MSC service thread 1-9) Setting new service endpoint address in wsdl: http:

      //10.249.152.143:8080/SoaTest

      17:19:31,085 INFO  [org.apache.cxf.endpoint.ServerImpl] (MSC service thread 1-9)

      Setting the server's publish address to be http://localhost:8080/JimmySoaTest2

      17:19:31,102 INFO  [org.jboss.wsf.stack.cxf.deployment.WSDLFilePublisher] (MSC s

      ervice thread 1-9) WSDL published to: file:/C:/jboss-as-dist-7.1.3.Final/jboss-a

      s-7.1.3.Final/standalone/data/wsdl/JimmySoaTest2.war/JimmySoaTest.wsdl

      17:19:31,105 INFO  [org.jboss.as.osgi] (MSC service thread 1-14) JBAS011907: Reg

      ister module: Module "deployment.JimmySoaTest2.war:main" from Service Module Loa

      der

      17:19:31,106 INFO  [org.jboss.as.webservices] (MSC service thread 1-13) JBAS0155

      39: Starting service jboss.ws.endpoint."JimmySoaTest2.war".SoaTestImpl

      17:19:31,108 INFO  [org.jboss.ws.common.management.DefaultEndpointRegistry] (MSC

      service thread 1-13) register: jboss.ws:context=JimmySoaTest2,endpoint=SoaTestI

      mpl

      17:19:31,119 INFO  [org.jboss.web] (MSC service thread 1-12) JBAS018210: Registe

      ring web context: /JimmySoaTest2

      17:19:31,146 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 1) JBAS018

      559: Deployed "JimmySoaTest2.war"

       

      From IE 8, I enter this URL http://localhost:8080/JimmySoaTest2/SoaTestTest?wsdl and see the WSDL:

       

      [snip]

      - <wsdl:service name="SoaTest">

       

       

      - <wsdl:port binding="ns0:SoaTestSOAP11Binding" name="SoaTestSOAP11port_http">

       

       

      <soap:address location="http://10.250.153.144:8080/SoaTest" />

       

      </wsdl:port>

      </wsdl:service>

      </wsdl:definitions>


       

      However when I enter http://10.250.153.144:8080/JimmySoaTest2/SoaTestTest?wsdl

      I don't see the WSDL.  Instead I get this error:

      Internet Explorer cannot display the webpage


      This problem can be caused by a variety of issues, including:

      • Internet connectivity has been lost.
      • The website is temporarily unavailable.
      • The Domain Name Server (DNS) is not reachable.
      • The Domain Name Server (DNS) does not have a listing for the website's domain.
      • There might be a typing error in the address.
      • If this is an HTTPS (secure) address, click Tools, click Internet Options, click Advanced, and check to be sure the SSL and TLS protocols are enabled under the security section.

      Environment: JBoss AS 7.1.3 on Windows Enterprise 7. 

       

      Note in standalone.xml, I set <modify-wsdl-address> to false:

       

      <subsystem xmlns="urn:jboss:domain:webservices:1.1">

                  <modify-wsdl-address>false</modify-wsdl-address>

                  <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>

                  <endpoint-config name="Standard-Endpoint-Config"/>

                  <endpoint-config name="Recording-Endpoint-Config">

                      <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">

                          <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>

                      </pre-handler-chain>

                  </endpoint-config>

              </subsystem>

       

      Any ideas why I can't see my published WSDL when I enter either my IP address or DNS name?