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 78936

Summary: separate the interface contract from the implementation in ws
Product: webservices Reporter: Lukas Jungmann <jungi>
Component: CodeAssignee: Milan Kuchtiak <mkuchtiak>
Status: NEW ---    
Severity: blocker    
Priority: P2    
Version: 5.x   
Hardware: All   
OS: All   
Issue Type: ENHANCEMENT Exception Reporter:

Description Lukas Jungmann 2006-06-22 21:17:03 UTC
"refactor -> extract interface" refactoring looks to me like a feature that
helps users/developers to separate the interface contract from the
implementation and it works correctly for java classes.

 In webservices area (JAX-WS 2.0) such contract is defined in a little bit
different way (that's why I filed this as a bug - at looks to me like "broken"
feature, but feel free to change this to RFE if you disagree). Example will say
more, so if I have following ws:

package test;
@WebService
public class MyServiceImpl {

    @WebMethod(operationName="sayHello")
    public String test(@WebParam(name="to") String p) {
        return "Hello " + p;
    }
}

then after "Refactor -> extract interface" invoked on such class I would expect
to have (or at least optionaly be able to have) "changed" impl. class like this
(note that there's no "implements" part):

package test;
@WebService(enpointInterface="test.MyWebservice")
public class MyServiceImpl {

    public String test(String p) {
        return "Hello " + p;
    }
}

and this new interface exctracted from base class:

package test;
@WebService
public interface MyService {

    @WebMethod(operationName="sayHello")
    String test(@WebParam(name="to") String p);
}
Comment 1 Lukas Jungmann 2006-06-22 21:22:36 UTC
@WebService.enpointInterface = FQN of new interface 

Sorry for a typo above.
Comment 2 Erno Mononen 2008-04-09 14:06:33 UTC
Web services refactoring is no longer handled in j2ee/refactoring, reassigning.