[wildfly-dev] Overwriting WSDL on EAP and Wildfly

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[wildfly-dev] Overwriting WSDL on EAP and Wildfly

Gytis Trikleris
Hello,
 
I am trying to make wsat-simple quickstart ( https://github.com/wildfly/quickstart/tree/master/wsat-simple) to work on two Wildfly servers (one as a client, another as a server). For the client I use 127.0.0.2 and for the server 127.0.0.3 IP addresses. I changed client WSDL to call 127.0.0.3 and it works fine on EAP 6.1 and EAP6.2.Beta1. However, it does not work on Wildfly master.

I did some debugging and the main difference I found is that EAP and Wildfly calls different constructors on client side Service implementation (RestaurantServiceATService class). EAP uses not parametrised constructor so the client gets initialized with my modified WSDL i.e. makes calls to 127.0.0.3. On the other hand, Wildfly uses parametrised constructor and passes URL to the AS generated WSDL which makes client to make calls to the same server as it is deployed i.e. 127.0.0.2.

Is there any way to make Wildfly use WSDL from the deployment the same way EAP does it?

Thanks,
Gytis

_______________________________________________
wildfly-dev mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/wildfly-dev
Reply | Threaded
Open this post in threaded view
|

Re: [wildfly-dev] Overwriting WSDL on EAP and Wildfly

Alessio Soldano
Gytis,
can you please link me the code of the client mentioned here, both in WFLY and EAP quickstarts?

On 07/11/13 11:36, Gytis Trikleris wrote:
Hello,
 
I am trying to make wsat-simple quickstart ( https://github.com/wildfly/quickstart/tree/master/wsat-simple) to work on two Wildfly servers (one as a client, another as a server). For the client I use 127.0.0.2 and for the server 127.0.0.3 IP addresses. I changed client WSDL to call 127.0.0.3 and it works fine on EAP 6.1 and EAP6.2.Beta1. However, it does not work on Wildfly master.

I did some debugging and the main difference I found is that EAP and Wildfly calls different constructors on client side Service implementation (RestaurantServiceATService class). EAP uses not parametrised constructor so the client gets initialized with my modified WSDL i.e. makes calls to 127.0.0.3. On the other hand, Wildfly uses parametrised constructor and passes URL to the AS generated WSDL which makes client to make calls to the same server as it is deployed i.e. 127.0.0.2.

Is there any way to make Wildfly use WSDL from the deployment the same way EAP does it?

Thanks,
Gytis


_______________________________________________
wildfly-dev mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/wildfly-dev


-- 
Alessio Soldano
Web Service Lead, JBoss

_______________________________________________
wildfly-dev mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/wildfly-dev
Reply | Threaded
Open this post in threaded view
|

Re: [wildfly-dev] Overwriting WSDL on EAP and Wildfly

Gytis Trikleris
EAP: https://github.com/jboss-developer/jboss-eap-quickstarts/blob/master/wsat-simple/src/main/java/org/jboss/as/quickstarts/wsat/simple/jaxws/RestaurantServiceATService.java
Wildfly: https://github.com/wildfly/quickstart/blob/master/wsat-simple/src/main/java/org/jboss/as/quickstarts/wsat/simple/jaxws/RestaurantServiceATService.java

On 07/11/13 10:46, Alessio Soldano wrote:
Gytis,
can you please link me the code of the client mentioned here, both in WFLY and EAP quickstarts?

On 07/11/13 11:36, Gytis Trikleris wrote:
Hello,
 
I am trying to make wsat-simple quickstart ( https://github.com/wildfly/quickstart/tree/master/wsat-simple) to work on two Wildfly servers (one as a client, another as a server). For the client I use 127.0.0.2 and for the server 127.0.0.3 IP addresses. I changed client WSDL to call 127.0.0.3 and it works fine on EAP 6.1 and EAP6.2.Beta1. However, it does not work on Wildfly master.

I did some debugging and the main difference I found is that EAP and Wildfly calls different constructors on client side Service implementation (RestaurantServiceATService class). EAP uses not parametrised constructor so the client gets initialized with my modified WSDL i.e. makes calls to 127.0.0.3. On the other hand, Wildfly uses parametrised constructor and passes URL to the AS generated WSDL which makes client to make calls to the same server as it is deployed i.e. 127.0.0.2.

Is there any way to make Wildfly use WSDL from the deployment the same way EAP does it?

Thanks,
Gytis


_______________________________________________
wildfly-dev mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/wildfly-dev


-- 
Alessio Soldano
Web Service Lead, JBoss


_______________________________________________
wildfly-dev mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/wildfly-dev
Reply | Threaded
Open this post in threaded view
|

Re: [wildfly-dev] Overwriting WSDL on EAP and Wildfly

Alessio Soldano
Hi Gytis,
I assume the client you're interested in and that's calling the service classes mentioned below is what is injecting the @WebServiceRef annotated 'client' attribute in WSATSimpleServletClient.
My gut feeling is that the behavior you're seeing is an expected consequence of having fixed a JSR 109 implementation glitch in [1]; basically, if the wsdlLocation is not specified in the webserviceref and the referenced Service class has no wsdlLocation attribute in the @WebServiceClient annotation, the implementation assumes you're willing to call a co-located endpoint.
Can you try specifying the wsdlLocation for example in the @WebServiceClient annotation?

Moreover, I'd ask you to also try the latest EAP 6.x, as I believe that should behave the same as WFLY master.
Cheers
Alessio

[1] https://issues.jboss.org/browse/JBWS-3679


On 07/11/13 12:01, Gytis Trikleris wrote:
EAP: https://github.com/jboss-developer/jboss-eap-quickstarts/blob/master/wsat-simple/src/main/java/org/jboss/as/quickstarts/wsat/simple/jaxws/RestaurantServiceATService.java
Wildfly: https://github.com/wildfly/quickstart/blob/master/wsat-simple/src/main/java/org/jboss/as/quickstarts/wsat/simple/jaxws/RestaurantServiceATService.java

On 07/11/13 10:46, Alessio Soldano wrote:
Gytis,
can you please link me the code of the client mentioned here, both in WFLY and EAP quickstarts?

On 07/11/13 11:36, Gytis Trikleris wrote:
Hello,
 
I am trying to make wsat-simple quickstart ( https://github.com/wildfly/quickstart/tree/master/wsat-simple) to work on two Wildfly servers (one as a client, another as a server). For the client I use 127.0.0.2 and for the server 127.0.0.3 IP addresses. I changed client WSDL to call 127.0.0.3 and it works fine on EAP 6.1 and EAP6.2.Beta1. However, it does not work on Wildfly master.

I did some debugging and the main difference I found is that EAP and Wildfly calls different constructors on client side Service implementation (RestaurantServiceATService class). EAP uses not parametrised constructor so the client gets initialized with my modified WSDL i.e. makes calls to 127.0.0.3. On the other hand, Wildfly uses parametrised constructor and passes URL to the AS generated WSDL which makes client to make calls to the same server as it is deployed i.e. 127.0.0.2.

Is there any way to make Wildfly use WSDL from the deployment the same way EAP does it?

Thanks,
Gytis


_______________________________________________
wildfly-dev mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/wildfly-dev


-- 
Alessio Soldano
Web Service Lead, JBoss



-- 
Alessio Soldano
Web Service Lead, JBoss

_______________________________________________
wildfly-dev mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/wildfly-dev
Reply | Threaded
Open this post in threaded view
|

Re: [wildfly-dev] Overwriting WSDL on EAP and Wildfly

Gytis Trikleris
Adding wsdlLocation in @WebServiceClient solved the problem. Thanks Alessio.

Gytis

On 07/11/13 14:48, Alessio Soldano wrote:
Hi Gytis,
I assume the client you're interested in and that's calling the service classes mentioned below is what is injecting the @WebServiceRef annotated 'client' attribute in WSATSimpleServletClient.
My gut feeling is that the behavior you're seeing is an expected consequence of having fixed a JSR 109 implementation glitch in [1]; basically, if the wsdlLocation is not specified in the webserviceref and the referenced Service class has no wsdlLocation attribute in the @WebServiceClient annotation, the implementation assumes you're willing to call a co-located endpoint.
Can you try specifying the wsdlLocation for example in the @WebServiceClient annotation?

Moreover, I'd ask you to also try the latest EAP 6.x, as I believe that should behave the same as WFLY master.
Cheers
Alessio

[1] https://issues.jboss.org/browse/JBWS-3679


On 07/11/13 12:01, Gytis Trikleris wrote:
EAP: https://github.com/jboss-developer/jboss-eap-quickstarts/blob/master/wsat-simple/src/main/java/org/jboss/as/quickstarts/wsat/simple/jaxws/RestaurantServiceATService.java
Wildfly: https://github.com/wildfly/quickstart/blob/master/wsat-simple/src/main/java/org/jboss/as/quickstarts/wsat/simple/jaxws/RestaurantServiceATService.java

On 07/11/13 10:46, Alessio Soldano wrote:
Gytis,
can you please link me the code of the client mentioned here, both in WFLY and EAP quickstarts?

On 07/11/13 11:36, Gytis Trikleris wrote:
Hello,
 
I am trying to make wsat-simple quickstart ( https://github.com/wildfly/quickstart/tree/master/wsat-simple) to work on two Wildfly servers (one as a client, another as a server). For the client I use 127.0.0.2 and for the server 127.0.0.3 IP addresses. I changed client WSDL to call 127.0.0.3 and it works fine on EAP 6.1 and EAP6.2.Beta1. However, it does not work on Wildfly master.

I did some debugging and the main difference I found is that EAP and Wildfly calls different constructors on client side Service implementation (RestaurantServiceATService class). EAP uses not parametrised constructor so the client gets initialized with my modified WSDL i.e. makes calls to 127.0.0.3. On the other hand, Wildfly uses parametrised constructor and passes URL to the AS generated WSDL which makes client to make calls to the same server as it is deployed i.e. 127.0.0.2.

Is there any way to make Wildfly use WSDL from the deployment the same way EAP does it?

Thanks,
Gytis


_______________________________________________
wildfly-dev mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/wildfly-dev


-- 
Alessio Soldano
Web Service Lead, JBoss



-- 
Alessio Soldano
Web Service Lead, JBoss


_______________________________________________
wildfly-dev mailing list
[hidden email]
https://lists.jboss.org/mailman/listinfo/wildfly-dev