users@glassfish.java.net

Re: WSDL: schemaLocation references FQDN instead of IP adress

From: Tonton Dede <tonton.dede_at_gmx.net>
Date: Fri, 09 Mar 2007 10:26:00 +0100

Vijay Ramachandran a écrit :
> The host and port embedded is the same that is present in the incoming
> WSDL request.
>
> So if your WSDL request is :
> http://1.2.3.4:99999/your_service/your_port?WSDL then the WSDL will be
> published with host=1.2.3.4 and port 99999
>
> Vijay
>


Hi Vijay

I am afraid my usecase might be somewhat different:

I switched my Glassfish server from W2K Server to Linux, and now I got
this one:

<xsd:schema>
      <xsd:import namespace="http://blaah/" schemaLocation="http://localhost:8080/WSService/ProxyWS/__...WSService_schema2.xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"/>
</xsd:schema>

I have the following schema

---A| |B---C| |D---E| |F---network

A is a public inet adress; it is a linux Box which applies a PREROUTING
(DNAT) rule which redirects the requests sent to A:8080 to C:8080 . I
can call the WSDL url from the internet, it shows me the right document,
but with the above schemaLocation.

When I try to test the WS with the Glassfish admin interface, i get the
following exception:


      Exceptions details : java.lang.RuntimeException: Service Class not
      generated as expected

------------------------------------------------------------------------
javax.servlet.ServletException: java.lang.RuntimeException: Service
Class not generated as expected at
com.sun.enterprise.webservice.monitoring.WebServiceTesterServlet.initializePort(WebServiceTesterServlet.java:546)
at
com.sun.enterprise.webservice.monitoring.WebServiceTesterServlet.doGet(WebServiceTesterServlet.java:158)
at
com.sun.enterprise.webservice.monitoring.WebServiceTesterServlet.invoke(WebServiceTesterServlet.java:104)
at
com.sun.enterprise.webservice.EjbWebServiceServlet.service(EjbWebServiceServlet.java:102)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at
com.sun.enterprise.web.AdHocContextValve.invoke(AdHocContextValve.java:101)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:71) at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:239)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
at
com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
at
com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
at
com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
at
com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
at
com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
Caused by: java.lang.RuntimeException: Service Class not generated as
expected at
com.sun.enterprise.webservice.monitoring.WebServiceTesterServlet.initializePort(WebServiceTesterServlet.java:521)
... 24 more

Apart from this, where can I find the other lines of the error messages
? I could not find them in the logs, neither could I find them using a grep

Kind regards,
TD

> Tonton Dede wrote:
>> Hi,
>>
>> I have a web service published in a Glassfish server. In the wsdl, I
>> find the following
>>
>> <types>
>> <xsd:schema>
>> <xsd:import namespace="http://tempuri.org"
>> schemaLocation="http://servername:8080/....schema1.xsd" .... />
>> </xsd:schema>
>> </types>
>>
>> My pears cannont resolve the "servername" (servername is the name of
>> the server on which the Glassfish runs - it is not the same computer
>> thant that on which the WS have been developed). How can I have the
>> IP adress instead of the name ? Or is this actually a non issue ?
>>
>> Thanks in advance,
>> TD
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
>> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net