You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by bu...@apache.org on 2003/05/01 17:18:19 UTC

DO NOT REPLY [Bug 19518] New: - No WSDL for bean missing default constructor

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19518>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19518

No WSDL for bean missing default constructor

           Summary: No WSDL for bean missing default constructor
           Product: Axis
           Version: current (nightly)
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: Blocker
          Priority: Other
         Component: WSDL processing
        AssignedTo: axis-dev@ws.apache.org
        ReportedBy: Tony.Thompson@stone-ware.com


When I access the wsdl for a service that uses a bean without a default 
constructor, I get this error in the browser:

AXIS error
Sorry, something seems to have gone wrong... here are the details:

Fault - ; nested exception is: 
	WSDLException: faultCode=OTHER_ERROR: Can&apos;t find prefix for 
&apos;http://client.stoneware.com&apos;. Namespace prefixes must be set on the 
Definition object using the addNamespace(...) method.: 
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: WSDLException: faultCode=OTHER_ERROR: Can&apos;t find prefix for 
&apos;http://client.stoneware.com&apos;. Namespace prefixes must be set on the 
Definition object using the addNamespace(...) method.: 
 faultActor: 
 faultNode: 
 faultDetail: 


I get this error on the web server:

- The class com.stoneware.client.AxisObject does not contain a default 
constructor, which is a requirement for a bean class.  The class cannot be 
converted into an xml schema type.  An xml schema anyType will be used to 
define this class in the wsdl file.


The service is deployed like this:

 <service name="AxisTestService" provider="java:RPC">
  <parameter name="allowedMethods" value="*"/>
  <parameter name="className" value="com.stoneware.client.AxisTest"/>
  <parameter name="scope" value="application"/>
 </service>


This is the AxisTest class:

package com.stoneware.client;
public class AxisTest {
    public AxisTest() {
    }

    public void say( final String message ) {
        System.out.println( message );
    }

    public void say( final AxisObject obj ) {
        say( obj.getMessage() );
    }
}

This is the AxisObject class:

package com.stoneware.client;
public class AxisObject {
    private String      m_message;

    public AxisObject( final String message ) {
        m_message = message;
    }

    public final String getMessage() {
        return m_message;
    }
}