[jbossws-dev] [JBoss Web Services Development] - WebServices client not working - Cannot obtain wsdl service

miafiste do-not-reply at jboss.com
Sat Dec 5 05:27:26 EST 2009


Hi all,

I don't know to do call at the web service frim Struts application.

ActionForm

  | package contrat;
  | 
  | import javax.servlet.http.HttpServletRequest;
  | 
  | import org.apache.struts.action.ActionErrors;
  | import org.apache.struts.action.ActionMapping;
  | 
  | public class ContratBean extends org.apache.struts.action.ActionForm {
  | 	
  | 	private String nameContrat;
  | 	private String descriptionContrat;
  | 	public String getNameContrat() {
  | 		return nameContrat;
  | 	}
  | 
  | 	public void setNameContrat(String nameContrat) {
  | 		this.nameContrat = nameContrat;
  | 	}
  | 
  | 	public String getDescriptionContrat() {
  | 		return descriptionContrat;
  | 	}
  | 
  | 	public void setDescriptionContrat(String descriptionContrat) {
  | 		this.descriptionContrat = descriptionContrat;
  | 	}
  | 
  | 	public String getTypeContrat() {
  | 		return typeContrat;
  | 	}
  | 
  | 	public void setTypeContrat(String typeContrat) {
  | 		this.typeContrat = typeContrat;
  | 	}
  | 
  | 	private String typeContrat;
  | 
  | 
  |     public ContratBean () {
  |     }
  | 
  |     public void reset(ActionMapping actionMapping, HttpServletRequest request) {
  |         // TODO: Write method body
  |         this.nameContrat="";
  |         this.descriptionContrat="";
  |         this.typeContrat="";
  |     }
  | 
  |     public ActionErrors validate(ActionMapping actionMapping, HttpServletRequest request) {
  |         // TODO: Write method body
  |         ActionErrors errors = new ActionErrors();
  |         return errors;
  |     }
  | 
  | 
  | }
  | 

Action
package contrat;
  | 
  | import javax.servlet.http.HttpServletRequest;
  | import javax.servlet.http.HttpServletResponse;
  | 
  | 
  | import org.apache.struts.action.ActionForm;
  | import org.apache.struts.action.ActionForward;
  | import org.apache.struts.action.ActionMapping;
  | import contratwsmanager.WSManager;
  | 
  | import contratwsmanager.WSManager;
  | 
  | public class ContratFormAction extends org.apache.struts.action.Action {
  |     
  |     // Global Forwards
  |     public static final String GLOBAL_FORWARD_start = "start"; 
  | 
  |     // Local Forwards
  |     public static final String FORWARD_sucessContrat = "sucessContrat"; 
  |     
  |     public ContratFormAction() {
  |     }
  |     
  |     public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
  |         // TODO: Write method body
  |     	WSManager wsmanager = null;
  |     	ContratBean contratData = (ContratBean) (form);
  |     	String test = "";
  |     	
  |     	
  |     	try
  |     	{
  |     		wsmanager = new WSManager();
  |     		test = wsmanager.WSManagerAddContrat();
  |     		contratData.setNameContrat(test);
  |     	}
  |     	catch (Exception e) {
  | 			// TODO: handle exception
  |     		e.getStackTrace();
  | 		}
  |         String nameContrat = contratData.getNameContrat();
  |         return mapping.findForward(FORWARD_sucessContrat);
  |     }
  | }

WSManager

  | package contratwsmanager;
  | 
  | import java.util.Vector;
  | 
  | import org.apache.log4j.Category;
  | 
  | import javax.xml.soap.*;
  | import javax.xml.rpc.ServiceFactory;
  | import java.net.URL;
  | import javax.xml.namespace.QName;
  | 
  | 
  | 
  | public class WSManager
  | {  
  |     public WSManager()
  | 	{
  |     }
  |     
  |     // define a static category variable so that it references the
  |     // category instance of the same name as this class.
  |     //static final Category category = Category.getInstance(WSManager.class.getName());
  |     
  |     static {
  |         
  |         // Setup the global JAXM message factory
  |         System.setProperty("javax.xml.soap.MessageFactory",
  |         "org.jboss.ws.core.soap.MessageFactoryImpl");
  | 
  |     }
  |     
  |     public String WSManagerAddContrat() throws Exception {
  |         //Method level variables
  |         String nameContrat;
  |         String retour ="";
  |         
  |         try
  |         {
  |             javax.xml.rpc.ServiceFactory factory = javax.xml.rpc.ServiceFactory.newInstance();
  |             QName serviceName = new QName("http://contrat.com.ws", "gestionContrat");
  |             QName portName = new QName("http://contrat.com.ws", "ConduiteContrat");
  |             URL wsdlLocation = new URL("http://localhost:8080/ConduiteContrat/ConduiteContrat?WSDL");
  |             
  |             javax.xml.rpc.Service service = factory.createService(wsdlLocation, serviceName);
  |             javax.xml.rpc.Call call = service.createCall(serviceName, portName);
  |             
  |             retour = (String) call.invoke(new Object [] { "coucou" });
  |         }
  |         catch(javax.xml.rpc.ServiceException se) {
  |             se.printStackTrace();
  |         }
  |         catch(Exception e) {
  |             //Print the exception in the console
  |             e.printStackTrace();
  |             throw e;
  |         }
  |         return retour;
  |     }
  | }
  | 

This is my error

  | 10:52:37,359 INFO  [TilesRequestProcessor] Tiles definition factory found for request processor ''.
  | 10:52:37,562 ERROR [STDERR] java.lang.IllegalArgumentException: Cannot obtain wsdl service: {http://contrat.com.ws}gestionContrat
  | 10:52:37,562 ERROR [STDERR] 	at org.jboss.ws.metadata.builder.jaxrpc.JAXRPCClientMetaDataBuilder.buildMetaDataInternal(JAXRPCClientMetaDataBuilder.java:171)
  | 10:52:37,562 ERROR [STDERR] 	at org.jboss.ws.metadata.builder.jaxrpc.JAXRPCClientMetaDataBuilder.buildMetaData(JAXRPCClientMetaDataBuilder.java:133)
  | 10:52:37,562 ERROR [STDERR] 	at org.jboss.ws.metadata.builder.jaxrpc.JAXRPCClientMetaDataBuilder.buildMetaData(JAXRPCClientMetaDataBuilder.java:85)
  | 10:52:37,562 ERROR [STDERR] 	at org.jboss.ws.core.jaxrpc.client.ServiceImpl.<init>(ServiceImpl.java:109)
  | 10:52:37,562 ERROR [STDERR] 	at org.jboss.ws.core.jaxrpc.client.ServiceFactoryImpl.createService(ServiceFactoryImpl.java:155)
  | 10:52:37,562 ERROR [STDERR] 	at org.jboss.ws.core.jaxrpc.client.ServiceFactoryImpl.createService(ServiceFactoryImpl.java:126)
  | 10:52:37,562 ERROR [STDERR] 	at contratwsmanager.WSManager.WSManagerAddContrat(WSManager.java:44)
  | 10:52:37,562 ERROR [STDERR] 	at contrat.ContratFormAction.execute(ContratFormAction.java:35)
  | 10:52:37,562 ERROR [STDERR] 	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
  | 10:52:37,562 ERROR [STDERR] 	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
  | 10:52:37,562 ERROR [STDERR] 	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
  | 10:52:37,562 ERROR [STDERR] 	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
  | 10:52:37,562 ERROR [STDERR] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
  | 10:52:37,562 ERROR [STDERR] 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
  | 10:52:37,562 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  | 10:52:37,562 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 10:52:37,562 ERROR [STDERR] 	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  | 10:52:37,562 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  | 10:52:37,562 ERROR [STDERR] 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 10:52:37,562 ERROR [STDERR] 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
  | 10:52:37,562 ERROR [STDERR] 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
  | 10:52:37,562 ERROR [STDERR] 	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
  | 10:52:37,562 ERROR [STDERR] 	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
  | 10:52:37,562 ERROR [STDERR] 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
  | 10:52:37,562 ERROR [STDERR] 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  | 10:52:37,562 ERROR [STDERR] 	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
  | 10:52:37,562 ERROR [STDERR] 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  | 10:52:37,562 ERROR [STDERR] 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
  | 10:52:37,562 ERROR [STDERR] 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
  | 10:52:37,562 ERROR [STDERR] 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
  | 10:52:37,562 ERROR [STDERR] 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
  | 10:52:37,562 ERROR [STDERR] 	at java.lang.Thread.run(Thread.java:619)
  | 

My WSDL<?xml version="1.0" encoding="UTF-8"?>
  | <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:http="http://schemas.xmlsoap.org/
  | wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://contrat.com.ws" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="gestionContrat" targetNamespace="http://contrat.com.ws" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:p="http://schemas.xmlsoap.org/wsdl/http/">
  |   <wsdl:types>
  |     <xsd:schema targetNamespace="http://contrat.com.ws" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  |       <xsd:element name="toContrat">
  |         <xsd:complexType>
  |           <xsd:sequence>
  |             <xsd:element name="name" type="xsd:string"/>
  |           </xsd:sequence>
  |         </xsd:complexType>
  |       </xsd:element>
  |       <xsd:element name="toContratResponse">
  |         <xsd:complexType>
  |           <xsd:sequence>
  |             <xsd:element name="out" type="xsd:string"/>
  |           </xsd:sequence>
  |         </xsd:complexType>
  |       </xsd:element>
  |     </xsd:schema>
  |   </wsdl:types>
  |   <wsdl:message name="toContratRequest">
  |     <wsdl:part element="tns:toContrat" name="parameters"/>
  |   </wsdl:message>
  |   <wsdl:message name="toContratResponse">
  |     <wsdl:part element="tns:toContratResponse" name="parameters"/>
  |   </wsdl:message>
  |   <wsdl:portType name="ConduiteContrat">
  |     <wsdl:operation name="toContrat">
  |       <wsdl:input message="tns:toContratRequest"/>
  |       <wsdl:output message="tns:toContratResponse"/>
  |     </wsdl:operation>
  |   </wsdl:portType>
  |   <wsdl:binding name="ConduiteContratSOAP" type="tns:ConduiteContrat">
  | 
  |   	<soap:binding style="document"
  |   		transport="http://schemas.xmlsoap.org/soap/http" />
  |   	<wsdl:operation name="toContrat">
  | 
  |   		<soap:operation soapAction="http://contrat.com.ws/toContrat" />
  |   		<wsdl:input>
  | 
  |   			<soap:body use="literal" />
  |   		</wsdl:input>
  |   		<wsdl:output>
  | 
  | 
  | 
  | 
  |   			<soap:body use="literal" />
  |   		</wsdl:output>
  |   	</wsdl:operation>
  |   </wsdl:binding>
  |   <wsdl:service name="ConduiteContratService">
  |     <wsdl:port binding="tns:ConduiteContratSOAP" name="gestionContratSOAP">
  | 
  |             <soap:address location="http://localhost:8080/ConduiteContrat/ConduiteContrat"/>
  |         </wsdl:port>
  |   </wsdl:service>
  | </wsdl:definitions>
  | 

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

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


More information about the jbossws-dev mailing list