I've got a similar problem and what you describe doesn't match the 
services.xml file produced by WSDL2Java . 

This is my file produced by WSDL2Java : 

<!--Auto generated Axis Service XML-->
<service name="SWAAutoDispatchEndpoint">
<parameter name="ServiceClass" 
locked="false">com.siemens.swa.plugins.webservices.types.SWAAutoDispatchEndpointSkeleton</parameter>
<!--Mounting the method webLogin-->
<operation name="webLogin">
<messageReceiver 
class="com.siemens.swa.plugins.webservices.types.SWAAutoDispatchEndpointMessageReceiver"/>
</operation>
</service>

Here's my the relevant wsdl section, with full wsdl below: 

  <service name="SWAAutoDispatchService">
    <port name="SWAAutoDispatchEndpointPort" 
binding="tns:SWAAutoDispatchEndpointBinding">
      <soap:address 
location="http://localhost:8080/axis2/services/SWAAutoDispatchEndpoint"/></port></service>

Should I file a jira issue? This is confusing. 

Incidently, I'm seeing this EPR on the listServices.jsp - after making the 
change to services.xml to be:  'service name="SWAAutoDispatchService'

"Available services
SWAAutoDispatchService
Service EPR : http://localhost:8080/axis2/services/SWAAutoDispatchService
Service Description : null
Available operations

    * webLogin " 

Yet I'm getting: 

 [java] webLogin, firing...
     [java] org.apache.axis2.AxisFault: org.apache.axis2.AxisFault: Operation 
Not found EPR is  http://localhost:8080/axis2/services/SWAAutoDispatchService 
and WSA Action =
     [java] at 
org.apache.axis2.engine.DispatchingChecker.invoke(DispatchingChecker.java:70)

Here's my client code - I'm kind of stuck: 

package com.siemens.swa.plugins.clients; 
 
import org.apache.axis2.AxisFault; 
 
import com.siemens.swa.plugins.webservices.types.SWAAutoDispatchEndpointStub; 
import 
com.siemens.swa.plugins.webservices.types.databinding.swaAutoDispatch.WebLoginElementDocument;
 
import 
com.siemens.swa.plugins.webservices.types.databinding.swaAutoDispatch.WebLoginElementDocument.WebLoginElement;
 
 
/** 
 * Login. 
 * 
 */ 
public class WiseLogin { 
 
    public static void main(String[] args) { 
        try { 
 
            System.out.println("webLogin, firing..."); 
            SWAAutoDispatchEndpointStub stub =  
                new SWAAutoDispatchEndpointStub(null,  
                    " 
http://localhost:8080/axis2/services/SWAAutoDispatchService";); 
 
            WebLoginElementDocument webLoginElementDocument  
                = WebLoginElementDocument.Factory.newInstance(); 
            WebLoginElement webLoginElement =  
                WebLoginElement.Factory.newInstance(); 
            webLoginElement.setUserNameElement("joe"); 
            webLoginElement.setUserPasswordElement("sixpack"); 
            webLoginElementDocument.setWebLoginElement(webLoginElement); 
            stub.webLogin(webLoginElementDocument); 
            System.out.println("dispatch, completed!!!"); 
 
        } catch (AxisFault axisFault) { 
            axisFault.printStackTrace(); 
        } catch (Exception ex) { 
            ex.printStackTrace(); 
        } 
    } 
 
}

iksrazal

<?xml version="1.0" encoding="UTF-8"?>

<definitions name="SWAAutoDispatchService" 
targetNamespace="http://swaAutoDispatch"; xmlns:tns="http://swaAutoDispatch"; 
xmlns="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; 
xmlns:ns2="http://swaAutoDispatch/types";>
  <types>
    <schema targetNamespace="http://swaAutoDispatch/types"; 
xmlns:tns="http://swaAutoDispatch/types"; 
xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns="http://www.w3.org/2001/XMLSchema";>
      <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
      <complexType name="ReturnWebBase">
        <sequence>
          <element name="errorMessage" type="string"/>
          <element name="successErrorCode" 
type="int"/></sequence></complexType>
      <complexType name="ReturnWebLogin">
        <complexContent>
          <extension base="tns:ReturnWebBase">
            <sequence>
              <element name="SOAP_Session_id" type="string"/>
              <element name="web_user_name" 
type="string"/></sequence></extension></complexContent></complexType>
      <element name="webLoginElement">
        <complexType>
          <sequence>
            <element ref="tns:user_nameElement"/>
            <element ref="tns:user_passwordElement"/>
          </sequence>
        </complexType>
      </element>
      <element name="user_nameElement" type="xsd:string"/>
      <element name="user_passwordElement" type="xsd:string"/>
      <element name="ReturnWebLoginElement" type="ns2:ReturnWebLogin"/>
      <element name="ReturnWebBaseElement" type="ns2:ReturnWebBase"/>
</schema></types>
  <message name="SWAAutoDispatchEndpoint_webLogin">
     <part name="parameters" element="ns2:webLoginElement"/>
  </message>
  <message name="SWAAutoDispatchEndpoint_webLoginResponse">
    <part name="result" element="ns2:ReturnWebLoginElement"/>
  </message>
  <portType name="SWAAutoDispatchEndpoint">
    <operation name="webLogin">
      <input message="tns:SWAAutoDispatchEndpoint_webLogin" 
name="SWAAutoDispatchEndpoint_webLogin"/>
      <output message="tns:SWAAutoDispatchEndpoint_webLoginResponse" 
name="SWAAutoDispatchEndpoint_webLoginResponse"/>
    </operation>
  </portType>
  <binding name="SWAAutoDispatchEndpointBinding" 
type="tns:SWAAutoDispatchEndpoint">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"; 
style="document"/>
    <operation name="webLogin">
      <soap:operation soapAction=""/>
      <input name="SWAAutoDispatchEndpoint_webLogin">
        <soap:body use="literal"/>
      </input>
      <output name="SWAAutoDispatchEndpoint_webLoginResponse"> 
        <soap:body use="literal"/>
      </output>
    </operation>
  </binding>
  <service name="SWAAutoDispatchService">
    <port name="SWAAutoDispatchEndpointPort" 
binding="tns:SWAAutoDispatchEndpointBinding">
      <soap:address 
location="http://localhost:8080/axis2/services/SWAAutoDispatchEndpoint"/></port></service></definitions>


Em Terça 29 Novembro 2005 01:57, o Deepal Jayasinghe escreveu:
> Hi Dong;
>
> I will tell you what actually happen inside
>
>   1. If the service archive file contains a services.xml with its root tag
> being  <serviceGroup></serviceGroup> , then the name    of the service
> group will be the name of the archive file name (if the archive name
> foo.aar then the group name will be foo).
>
>   2. If the services.xml is for a service group , then all the children
> service elements must have a  name , simply  in <service name="someName">
> tag  the name attribute can not be null , as well as that should be unique
> across the system
>
>   3. If the service archive file contains a service.xml with root element
> being <service> </service> then the name of the service will be the name of
> the archive file , even if there is a name attribute that will be ignored.
>
>  4. IF you have a WSDL file for a service then that wsdl file should
> contain a <service> element and then name of the service element should
> equal to the name of the service that refers , as an example if you have a
> <service name="fooService"> in services.xml then there should be service
> element in wsdl file as follow
>   <wsdl:service name="fooService">
>       <wsdl:port binding="impl:fooServiceBinding" name="fooService">
>        <wsdlsoap:address
> location="http://localhost:8080/axis/services/fooService"; />
>   </wsdl:port>
> </wsdl:service>
>
> 5. It should note that the name of the wsdl file really does not matter if
> you have the right service element in the wsdl file , if your archive file
> is for a service group you can put any number of wsdl files in META-INF
> directory with right references.
>
>
>
> Thanks,
>  Deepal
> ................................................................
> ~Future is Open~
>
> ----- Original Message -----
> From: "Dong Liu" <[EMAIL PROTECTED]>
> To: <[email protected]>
> Sent: Tuesday, November 29, 2005 6:17 AM
> Subject: [axis2]Questions on service name
>
>
> Hi, developers,
>
> On axis 2, three files are related to a service: the services.xml, the
> .wsdl file, and the deployment package .aar file. I found there would
> be multiple services appearing on the listServices page if the name of
> the .aar package, the service name in wsdl file and that in
> services.xml are different. And there would be conflicting endpoint
> references for the same service. Is naming the service names in the
> three places the only way to avoid such conflict?
>
> Cheers,
>
> Don

Reply via email to