Hi,

Are you trying to use an Axis2 generated client to talk to the helloworld WS exposed by SCA? Which WSDL2Java tool did you use to generate the client?

Thanks,
Raymond

--------------------------------------------------
From: "Marco Piccinni" <[EMAIL PROTECTED]>
Sent: Monday, November 10, 2008 5:35 AM
To: "user" <[email protected]>
Subject: wsa action

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