when creating wsc(Web Service Connector) first time, designer will create webservice client(proxy) java code in the source path “src → caf → war → ${project_name} → service → xxxx_wsd”.
there are three java classes in this package, such as
XXXXXX_WSDStub.java
XXXWSD.java
XXXWSD.wsdl
the point is in the second java class, for example XXXWSD.java, there are some annotations above the class name as default, like follow:
java code:
package caf.war.OfferManageS01.wsclient.offermanage.service.startwf_wsd;
import java.io.Serializable;
import javax.faces.bean.ManagedBean; //pay your attention here
import javax.faces.bean.SessionScoped; //pay your attention here
import com.webmethods.caf.faces.annotations.ExpireWithPageFlow; //pay your attention here
import com.webmethods.caf.faces.annotations.DTManagedBean; //pay your attention here
import com.webmethods.caf.faces.annotations.BeanType; //pay your attention here
/**
* Web Service Client bean generated for
* caf.war.OfferManageS01.wsclient.offermanage.service.startwf_wsd.OfferManageServiceStartWF_WSDStub.startWF.
*/
@ManagedBean(name = "startWSD") //pay your attention here
@SessionScoped //pay your attention here
@ExpireWithPageFlow //pay your attention here
@DTManagedBean(beanType = BeanType.DEFAULT) //pay your attention here
public class StartWSD extends com.webmethods.caf.faces.data.ws.wss.WSSContentProvider {
However, after refresh(regenerate) wsc, the second java class will become like that:
java code:
package caf.war.OfferManageS01.wsclient.offermanage.service.startwf_wsd;
import java.io.Serializable;
/**
* Web Service Client bean generated for
* caf.war.OfferManageS01.wsclient.offermanage.service.startwf_wsd.OfferManageServiceStartWF_WSDStub.startWF.
*/
public class StartWSD extends com.webmethods.caf.faces.data.ws.wss.WSSContentProvider {
Annotations Disappear!!!
this bug leads that you cann’t get webservice client instance normally, and a lot of errors will happen in your view.
for fixing this problem, you need to paste the original annotations back to the proxy class(the second java class), It will works fine.
best regards,
felix