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#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...