users@grizzly.java.net

Re: JaxwsHandler serving content on non-registered URLs under same path

From: Oleksiy Stashok <oleksiy.stashok_at_oracle.com>
Date: Mon, 10 Nov 2014 16:55:08 -0800

Hi,

I've made some changes on 2.3.x branch.
Can you pls. change the way you register the JaxwsHandler:

/httpServer.getServerConfiguration().addHttpHandler(jaxwsHandler,//
// HttpHandlerRegistration.bulder()//
// .contextPath(path)//
// .urlPattern("")//
// .build());/


and try the latest Grizzly 2.3.18-SNAPSHOT.

Thank you.

WBR,
Alexey.

On 06.11.14 05:42, Gonfi den Tschal wrote:
> Yes it's there:
>
> 1) clone the project https://github.com/optimaize/soapworks
>
> 2) run this class
> https://github.com/optimaize/soapworks/blob/master/exampleproject/server/src/main/java/com/optimaize/soapworks/exampleproject/server/boot/Boot.java
>
> 3) In the console you will see:
> Publishing soap web service:
> http://localhost:80/soap/v1/system/ping?wsdl
>
> 4) load that url in the browser to see the wsdl
>
> 5) change the url, anything under /soap/ will give you a wsdl. This is
> not desired from my point of view; changing to v2 also brings something.
>
> 6) change /soap/ to /soap2/ and you'll get
> Not Found
> Resource identified by path '/soap2/v2/system/ping', does not exist.
> Grizzly 2.3.17
>
> If you need another host name or port number then change it in
> GrizzlySoapWebServer on top new Host("localhost", 80)
>
> Greetings,
> Gonfi
>
>
> On Thu, Nov 6, 2014 at 6:21 AM, Oleksiy Stashok
> <oleksiy.stashok_at_oracle.com <mailto:oleksiy.stashok_at_oracle.com>> wrote:
>
> Hi,
>
> can I ask you to create a working project (for ex. on github) so
> it would be easier to reproduce.
>
> Thank you.
>
> WBR,
> Alexey.
>
>
> On 05.11.14 07:46, Gonfi den Tschal wrote:
>> QUESTION: How do I stop Grizzly from serving content on URLs for
>> which there is no handler, but are under the same path?
>>
>>
>> USERLAND CODE:
>>
>> full class at http://nopaste.info/05ffefc3fb.html
>>
>> public static void main(String[] args) throws IOException {
>> HttpServer httpServer = new HttpServer();
>> httpServer.addListener(new
>> NetworkListener("jaxws-listener", "localhost", 8090));
>> httpServer.getServerConfiguration().addHttpHandler(new
>> JaxwsHandler(new BarService()), "/jaxws/hello");
>> httpServer.start();
>> System.in.read();
>> }
>>
>> @WebService
>> private static class BarService {
>> @WebMethod
>> public String hello() {
>> return "hello world";
>> }
>> }
>>
>>
>> Loading the URL http://localhost:8090/jaxws/hello?wsdl in the
>> browser brings the correct document, see
>> http://nopaste.info/f8ec12f601.html
>>
>> However, loading any other url under the /jaxws/ path brings a
>> similar document, for example
>> http://localhost:8090/jaxws/helllloooooo?wsdl see
>> http://nopaste.info/d7e6013a1a.html
>>
>> A difference is at the end:
>>
>> 1. <soap:address location="http://localhost:8090/jaxws/hello"/>
>>
>> 1. <soap:address location="http://localhost:8090/jaxws"/>
>>
>>
>> What are the arguments for this behavior?
>> And what can I do to get a 404 on all URLs that are not registered?
>>
>> Software used:
>> - grizzly-http-server
>> - grizzly-http-server-jaxws
>> tried versions 2.3.17 (latest) and 2.3.7
>>
>> Greetings,
>> Gonfi
>>
>
>