users@glassfish.java.net

Re: GF 3.1.1 WebService WebMethod from EJB not exposed

From: Bernhard Thalmayr <bernhard.thalmayr_at_painstakingminds.com>
Date: Wed, 9 Nov 2011 14:50:04 +0100

Thanks for your attention Martin, much appreciated.

The signature of the methods which is NOT exposes is


@WebMethod
    public byte[] getPage(
        @WebParam(name="token") String token,
        @WebParam(name="dokuid") long dokuid,
        @WebParam(name="page") int page,
        @WebParam(name="benutzer") Benutzer benutzer)
    throws IMSException{

The signature of another mehtod in the same bean which is exposes is

  @WebMethod
    public byte[][] getDocument(
        @WebParam(name="token") String token,
        @WebParam(name="dokuid") long dokuid,
        @WebParam(name="benutzer") Benutzer benutzer)
    throws IMSException{

I can not see any significant difference.

About reproducability ...

I can reproduce it 100% on RHEL within an standalone-instance. (JDK 7)

On the dev-environment (Windows XP, JDK7, 'DAS') the method is exposed.

wsgen is used through 'ant' 'taskdef' using class
'com.sun.tools.ws.ant.WsGen' from GF 2.1 'webservices-tools.jar' (this is
due to legacy environment)

Do you know where I can set a 'breakpoint' in debugger to see why it is not
exposed.

I've already tried to find out which source tag I've to check out for
'metro' / jaxw-ws-ri for GF 3.1.1 b12 .. but without success.

Regards,
Bernhard



On Wed, Nov 9, 2011 at 2:19 PM, Martin Grebac <martin.grebac_at_oracle.com>wrote:

> Can you share the signature of the method? What is the difference
> compared to other methods? If you say 'wsgen' works - do you use wsgen
> from jdk or from GF?
>
> Best of course would be to file an issue and attach a reproducible
> testcase there,
> MartiNG
>
> On 11/09/2011 01:59 PM, Bernhard Thalmayr wrote:
> > Hi experts,
> >
> > I have a stateless session bean which has 10 business methods
> > annotated with '_at_WebMethod'.
> >
> > For some reaon ONE of these methods is not exposed by GlassFish wenn
> > quering the endpoint (<endpoint>?wsdl) and this leads to an error in
> > the web-tier trying to access the webservice.
> >
> > I can not find any significant difference between the methods.
> >
> > 'wsgen' creates the correct wsdl.
> >
> > Any pointers available how I can track this down?
> >
> >
> > TIA,
> > Bernhard
> >
> > --
> > IT-Consulting Bernhard Thalmayr
> > - Painstaking Minds -
> > 83620 Vagen (Munich area)
> > Germany
>
> --
> Martin Grebac, GlassFish/Metro/JAXWS/JAXB/Tooling at Oracle
> http://blogs.oracle.com/mgrebac
> ICQ: 93478885
>
>


-- 
IT-Consulting Bernhard Thalmayr
- Painstaking Minds -
83620 Vagen (Munich area)
Germany