[jboss-user] [JBossWS] - Web service hosted but client program cannot access it ERROR

ronyjoy do-not-reply at jboss.com
Wed Feb 13 03:55:31 EST 2008


hi, pls help me,

my problem is 
i have hosted the WEb services successfully, i can that in the below URL
http://localhost/jbossws/services
Environment is
Jboss 4.2.2,
jdk jdk1.5.0_12
web service end point is EJB3

But i when i am trying to access it through a Client i am getting some 

exceptions from JBOSS Side 

14:03:31,234 ERROR [SOAPFaultHelperJAXRPC] SOAP request exception
javax.xml.rpc.soap.SOAPFaultException: Endpoint {http://test.main.i9check.source/}GreeterPort does not contain operation meta
 data for: sayhello
        at org.jboss.ws.core.jaxrpc.SOAPFaultHelperJAXRPC.exceptionToFaultMessage(SOAPFaultHelperJAXRPC.java:189)
        at org.jboss.ws.core.jaxws.SOAPFaultHelperJAXWS.exceptionToFaultMessage(SOAPFaultHelperJAXWS.java:157)
        at org.jboss.ws.core.jaxws.binding.SOAP11BindingJAXWS.createFaultMessageFromException(SOAP11BindingJAXWS.java:104)
        at org.jboss.ws.core.CommonSOAPBinding.bindFaultMessage(CommonSOAPBinding.java:645)
        at org.jboss.wsf.stack.jbws.RequestHandlerImpl.processRequest(RequestHandlerImpl.java:430)
        at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:272)
        at org.jboss.wsf.stack.jbws.RequestHandlerImpl.doPost(RequestHandlerImpl.java:189)
        at org.jboss.wsf.stack.jbws.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:122)
        at org.jboss.wsf.stack.jbws.EndpointServlet.service(EndpointServlet.java:84)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
        at java.lang.Thread.run(Thread.java:595)

and in the client Side Exception is 

com.sun.xml.internal.messaging.saaj.soap.ver1_1.Message1_1Impl cannot be cast to com.sun.xml.messaging.saaj.soap.MessageImpl



my client code is 

package source.web.user;

 
import java.net.URL;

import javax.xml.namespace.QName;
import javax.xml.rpc.Call;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.Service;
import javax.xml.rpc.ServiceFactory;
import javax.xml.rpc.encoding.XMLType;
import javax.xml.rpc.soap.SOAPFaultException;



 

public class HelloClient
{
	
	static String WSDLLoc="http://127.0.0.1/i9check/TestWebServicesBean";
	static String serviceName="http://test.main.i9check.source/";
	static String portType="TestWebServicesBean";
	static String serviceEndPointAddress=WSDLLoc;
	static String nameSpace="http://test.main.i9check.source";
	
	
    public static void main(String[] args)
       
    {
    	
    	
    	try {
    		
    		URL wsUrl = new URL(WSDLLoc+"?wsdl");
    		/*QName operationName = new QName(nameSpace,serviceName);
    		Service service = Service.create(wsUrl,operationName);
    		Call call = service.createCall(portName, operationName);*/
    		
    		 /* Service lookup */
            ServiceFactory serviceFactory = ServiceFactory.newInstance();
            //Service service = serviceFactory.createService(wsUrl, new QName(serviceName));
            Service service = serviceFactory.createService(wsUrl, new QName(serviceName,"Greeter"));
    		  
            /* Service access */
            Call call = (Call) service.createCall();
            call.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY, "http://schemas.xmlsoap.org/soap/encoding/");
            call.setProperty(Call.OPERATION_STYLE_PROPERTY, "rpc");
            call.setTargetEndpointAddress(serviceEndPointAddress);
            call.removeAllParameters();
            call.setPortTypeName(new QName(portType));
            call.setOperationName(new QName("sayhello"));
            //if (call.isParameterAndReturnSpecRequired(call.getOperationName())){
                call.addParameter("in0", XMLType.XSD_STRING,ParameterMode.IN);
                call.setReturnType(XMLType.XSD_STRING);
            //}
 
            /* Service invocation */
            call.invoke(new Object[] {"Rony"});
       
    	} 
    	catch (SOAPFaultException sfe){
    		System.out.println("Detail "+sfe.getDetail());
    		System.out.println("getFaultCode "+sfe.getFaultCode());
    		System.out.println("getFaultString "+sfe.getFaultString());
    		System.out.println("getFaultActor "+sfe.getFaultActor());
    		
    		
    	}
    	
    	catch (javax.xml.ws.soap.SOAPFaultException sfe){
    		System.out.println("getCause "+sfe.getCause());
    		System.out.println("getStackTrace "+sfe.getStackTrace());
    		System.out.println("getFaultCode "+sfe.getFault());
    	
    		
    		
    	}
    	
    	
    	
    	
    	catch(Exception ex) {System.out.println("Exception "+ex.getMessage());}
    }
}






View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4129018#4129018

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4129018



More information about the jboss-user mailing list