Hi all!

I'm trying to generate a web application to consume the helloworld service. I 
used the tutorial online and that's the composite:


<?xml version="1.0" encoding="UTF-8"?>
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0";
    xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0";
    xmlns:c="http://helloworld";
    targetNamespace="http://helloworld";
    name="helloworld">

<component name="HelloWorldComponent">
<implementation.java class="helloworld.HelloWorldImpl"/>
                <service name="HelloWorld">
                        <binding.ws uri="http://localhost:9090/HelloWorld"/>
              </service>
</component>
</composite>


and tht's the code I use to interface the wsdl generated on this composite by 
tuscany plugin:


package model;

import java.net.*;
import java.util.*;
import org.apache.soap.*;
import org.apache.soap.rpc.*;


public class prova {

        public prova() {

        }
public String connessione() throws SOAPException, MalformedURLException {
// creo un oggetto soap di tipo call per effettuare la chiamata
    Call call = new Call ();
    URL url;


//setto dentro la call di soap l'identificativo del servizio
   //  call.setTargetObjectURI("urn:xmethodsBabelFish");

//dichiaro a quale url รจ in ascolto il servizio
     url= new URL("http://localhost:9090/HelloWorld";);
     Vector param = new Vector ();

//secondo il meccanismo di soap serializzo le informazioni da inviare dentro ad 
un vettore
     param.addElement (new Parameter("name", String.class, "Marco", null));
  //   param.addElement (new Parameter("sourcedata", String.class,sourcedata, 
null));
     call.setParams (param);

//indico alla chiamata quale metodo invocare remotamente
    call.setMethodName ("sayHello");
    call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);

//invoco il web service ed attendo la risposta
   Response result = call.invoke (url, "");

//controllo se la risposta contiene degli errori
     if (result.generatedFault ())
           {
              Fault fault = result.getFault();
              throw new SOAPException(fault.getFaultCode(), 
fault.getFaultString());
            }
     Parameter retValue = result.getReturnValue();
//ritorno castando a stringa il valore di ritorno dalla risposta
   if (retValue != null) return (String)retValue.getValue ();
              return "OPERAZIONE RIUSCITA";

    }

}

This code is contained in a class wich methods are called by a jsp.

I create a .war file a I put it into the webapp tomcat folder: I obtain this 
message:

The endpoint reference (EPR) for the Operation not found is 
http://localhost:9090/HelloWorld and the WSA Action =

What does it mean?

If it could help the wsdl generated by tuscany plugin follow here:

<wsdl:definitions name="HelloWorldService" targetNamespace="http://helloworld/";>
-
<wsdl:types>
-
<xs:schema attributeFormDefault="qualified" elementFormDefault="unqualified" 
targetNamespace="http://helloworld/";>
-
<xs:element name="sayHelloResponse">
-
<xs:complexType>
-
<xs:sequence>
<xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
-
<xs:element name="sayHello">
-
<xs:complexType>
-
<xs:sequence>
<xs:element minOccurs="0" name="arg0" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</wsdl:types>
-
<wsdl:message name="sayHelloResponse">
<wsdl:part name="sayHelloResponse" element="tns:sayHelloResponse">
    </wsdl:part>
</wsdl:message>
-
<wsdl:message name="sayHello">
<wsdl:part name="sayHello" element="tns:sayHello">
    </wsdl:part>
</wsdl:message>
-
<wsdl:portType name="HelloWorld">
-
<wsdl:operation name="sayHello">
<wsdl:input message="tns:sayHello">
    </wsdl:input>
<wsdl:output message="tns:sayHelloResponse">
    </wsdl:output>
</wsdl:operation>
</wsdl:portType>
-
<wsdl:binding name="HelloWorldBinding" type="tns:HelloWorld">
<SOAP:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"/>
-
<wsdl:operation name="sayHello">
<SOAP:operation/>
-
<wsdl:input>
<SOAP:body use="literal"/>
</wsdl:input>
-
<wsdl:output>
<SOAP:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
-
<wsdl:service name="HelloWorldService">
-
<wsdl:port name="HelloWorldPort" binding="tns:HelloWorldBinding">
<SOAP:address location="http://10.10.4.236:9090/HelloWorld"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

Thanks to all!!

Marco Piccinni

Reply via email to