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

Summary: Bad function stub generation
Product: webservices Reporter: mstarnacki <mstarnacki>
Component: JAX-WSAssignee: Milan Kuchtiak <mkuchtiak>
Status: RESOLVED WONTFIX    
Severity: normal    
Priority: P4    
Version: 7.0   
Hardware: PC   
OS: Windows XP   
Issue Type: DEFECT Exception Reporter:
Attachments: project

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;