I have written web service example program using
jboss as 7.0.2 Final profile. I want to add MAINTAIN_SESSION_PROPERTY to the client, but while casting to BindingProvider it generate the following exception
org.apache.cxf.calculator.CalculatorServiceSoapBindingStub cannot be cast to javax.xml.ws.BindingProvider
My Web Service Code is
import javax.jws.WebService;
import org.apache.cxf.calculator.CalculatorPortType;
import org.apache.cxf.calculator.types.CalculatorFault;
@WebService(serviceName = "CalculatorService",
portName = "CalculatorPort",
targetNamespace = "http://apache.org/cxf/calculator",
endpointInterface = "org.apache.cxf.calculator.CalculatorPortType"
)
public class CalculatorImpl implements CalculatorPortType {
public int add(int number1, int number2) throws AddNumbersFault {
if (number1 < 0 || number2 < 0) {
CalculatorFault fault = new CalculatorFault();
fault.setMessage("Negative number cant be added!");
fault.setFaultInfo("Numbers: " + number1 + ", " + number2);
throw new AddNumbersFault("Negative number cant be added!", fault);
}
return number1 + number2;
}
}
and client code is
public class CalculatorWSClient {
private static final QName SERVICE_1 =
new QName("http://apache.org/cxf/calculator", "CalculatorService");
private static final QName PORT_1 =
new QName("http://apache.org/cxf/calculator", "CalculatorPort");
public static void main(
String[] args) throws MalformedURLException, CalculatorFault, RemoteException, ServiceException {
String endpointAddress =
"http://localhost:8080/CalculatorWS?wsdl";
CalculatorService calcService=new CalculatorServiceLocator(endpointAddress, SERVICE_1);
CalculatorPortType port=calcService.getCalculatorPort();
System.out.println("\n\n\t-----1 Port: "+port);
BindingProvider bindingProvider=(BindingProvider)port;
Map<String,Object> rc = (Map<String,Object>)bindingProvider.getRequestContext();
System.out.println("\n\n\t-----1 Result: "+port.add(10, 20));
}
The generated WebServiceClient are :
CalculatorFault.java
CalculatorPortType.java
CalculatorPortTypeProxy.java
CalculatorService.java
CalculatorServiceLocator.java
CalculatorServiceSoapBindingStub.java
Kindly help me.