This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 188714 - Bad function stub generation
Summary: Bad function stub generation
Status: RESOLVED WONTFIX
Alias: None
Product: webservices
Classification: Unclassified
Component: JAX-WS (show other bugs)
Version: 7.0
Hardware: PC Windows XP
: P4 normal (vote)
Assignee: Milan Kuchtiak
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-15 20:29 UTC by mstarnacki
Modified: 2010-07-16 08:57 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
project (331.33 KB, application/octet-stream)
2010-07-15 20:29 UTC, mstarnacki
Details

Note You need to log in before you can comment on or make changes to this bug.
Description mstarnacki 2010-07-15 20:29:41 UTC
Created attachment 100867 [details]
project

I was creating WSDL from scratch and then tried create webservice from my wsdl file. Everything is ok but genereator didn't create return parameter for interface method!
Look in attachement ;
Comment 1 Milan Kuchtiak 2010-07-16 08:57:48 UTC
Netbeans provides tooling for METRO(JAX-WS) web services stack. Specifically, the wsimport(SUN-Oracle JAX-WS utility) generates the service endpoint interface this particular way(as done in your project) :

public interface NewWSDLPortType {
    @WebMethod
    public void newWSDLOperation(@WebParam(name = "notify_subscriptionListener", targetNamespace = "urn:uddi-org:subr_v3", mode = WebParam.Mode.INOUT, partName = "part1")
        Holder<NotifySubscriptionListener> part1);
}

Service provider should work with javax.xml.ws.Holder object and save the response to its value field :

// 1.compute value for NotifySubscriptionListener object
NotifySubscriptionListener nsListener = ...;
// 2.save value to Holder object
part1.value = nsListener;

The client code should pass the empty holder object to WS operation, call the operation, and use the holder.value then :

// 1. create empty holder
Holder<NotifySubscriptionListener> holder = new Holder<NotifySubscriptionListener>();
// 2. call WS operation
port.newWSDLOperation(holder);
// 3. process the holder value
NotifySubscriptionListener result = holder.value;