4 Replies Latest reply on Jul 22, 2005 2:07 PM by Thomas Diesler

    StackOverflowError when accessing WS

    Phil Shrimpton Newbie

      Hi,

      When I try to access a newly created WS either to use it or just getting its WSDL, I get the following error...

      2005-07-06 08:55:19,564 INFO [org.jboss.system.server.Server] JBoss (MX MicroKernel) [4.0.2 (build: CVSTag=JBoss_4_0_2 date=200505022023)] Started in 0m:32s:347ms
      2005-07-06 08:55:43,103 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/example-webservices].[UserManager]] Servlet.service() for servlet UserManager threw exception
      java.lang.StackOverflowError
      at java.lang.Exception.(Exception.java:41)
      at java.lang.NoSuchMethodException.(NoSuchMethodException.java:32)
      at java.lang.Class.getMethod(Class.java:1581)
      at org.jboss.axis.utils.JavaUtils.isEnumClass(JavaUtils.java:1465)
      at org.jboss.axis.utils.JavaUtils.isBeanCompatible(JavaUtils.java:940)
      at org.jboss.axis.utils.JavaUtils.isConvertable(JavaUtils.java:811)
      at org.jboss.axis.utils.JavaUtils.isConvertable(JavaUtils.java:675)
      at org.jboss.axis.utils.JavaUtils.getAccessorForClass(JavaUtils.java:887)
      at org.jboss.axis.utils.JavaUtils.isConvertable(JavaUtils.java:813)
      at org.jboss.axis.utils.JavaUtils.isConvertable(JavaUtils.java:675)
      at org.jboss.axis.utils.JavaUtils.getAccessorForClass(JavaUtils.java:887)
      at org.jboss.axis.utils.JavaUtils.isConvertable(JavaUtils.java:813)
      at org.jboss.axis.utils.JavaUtils.isConvertable(JavaUtils.java:675)
      at org.jboss.axis.utils.JavaUtils.getAccessorForClass(JavaUtils.java:887)
      (the last three lines are repeated several hundred times).

      I have other WS's that have been developed and deployed the same way which work with no problems, it is just this one that is giving me a problem. Any ideas where to start looking?

        • 1. Re: StackOverflowError when accessing WS
          Thomas Diesler Master

          This has been assigned to

          http://jira.jboss.org/jira/browse/JBWS-318

          Could you provide a sample deployment that shows the issue?

          • 2. Re: StackOverflowError when accessing WS
            Adam Meghji Newbie

            I'm having the same issue here, as is someone else I know. I started by following the WSDOC Server
            implementation, and everything worked fine before I began passing around custom Objects (CarrierEntityValue
            in this case, see below for code).

            Here is the sample deployment that shows the issue. Hopefully this will help figure out what's going wrong.

            Here is the error:

            14:58:16,759 ERROR [[CarrierProcess]] Servlet.service() for servlet CarrierProcess threw exception
            java.lang.StackOverflowError
             at java.lang.Exception.<init>(Exception.java:41)
             at java.lang.NoSuchMethodException.<init>(NoSuchMethodException.java:32)
             at java.lang.Class.getMethod(Class.java:978)
             at org.jboss.axis.utils.JavaUtils.isEnumClass(JavaUtils.java:1465)
             at org.jboss.axis.utils.JavaUtils.isBeanCompatible(JavaUtils.java:940)
             at org.jboss.axis.utils.JavaUtils.isConvertable(JavaUtils.java:811)
             at org.jboss.axis.utils.JavaUtils.isConvertable(JavaUtils.java:675)
             at org.jboss.axis.utils.JavaUtils.getConstructorForClass(JavaUtils.java:911)
             at org.jboss.axis.utils.JavaUtils.isConvertable(JavaUtils.java:811)
             at org.jboss.axis.utils.JavaUtils.isConvertable(JavaUtils.java:675)
            (underlined code repeats for a few pages)
            


            CarrierProcessWrapped.java (endpoint interface):
            public interface CarrierProcessWrapped extends Remote {
             CarrierProcess_getCarrierName_ResponseStruct getCarrierName(CarrierProcess_getCarrierName_RequestStruct req) throws RemoteException;
             CarrierProcess_getCarrierValue_ResponseStruct getCarrierValue(CarrierProcess_getCarrierValue_RequestStruct req) throws RemoteException;
             CarrierProcess_setCarrierValue_ResponseStruct setCarrierValue(CarrierProcess_setCarrierValue_RequestStruct req) throws RemoteException;
            }


            webservices.xml:
            <webservice-description>
             <webservice-description-name>CarrierProcess</webservice-description-name>
             <wsdl-file>WEB-INF/wsdl/CarrierProcessService.wsdl</wsdl-file>
             <jaxrpc-mapping-file>WEB-INF/mapping.xml</jaxrpc-mapping-file>
             <port-component>
             <port-component-name>PortComponent</port-component-name>
             <wsdl-port>CarrierProcessWrappedPort</wsdl-port>
             <service-endpoint-interface>arm.carrierws.CarrierProcessWrapped</service-endpoint-interface>
             <service-impl-bean>
             <servlet-link>CarrierProcess</servlet-link>
             </service-impl-bean>
             </port-component>
             </webservice-description>


            web.xml:
            <servlet>
             <servlet-name>CarrierProcess</servlet-name>
             <servlet-class>arm.carrierws.CarrierProcessWrappedImpl</servlet-class>
             </servlet>
            
             <servlet-mapping>
             <servlet-name>CarrierProcess</servlet-name>
             <url-pattern>/CarrierProcess</url-pattern>
             </servlet-mapping>



            mapping.xml:
            <?xml version="1.0" encoding="UTF-8"?>
            <java-wsdl-mapping version="1.1" xmlns="http://java.sun.com/xml/ns/j2ee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_jaxrpc_mapping_1_1.xsd">
             <package-mapping>
             <package-type>arm.carrierws</package-type>
             <namespaceURI>
             http://arm.carrierws/fourthAppWeb/types
             </namespaceURI>
             </package-mapping>
             <package-mapping>
             <package-type>arm.carrierws</package-type>
             <namespaceURI>http://arm.carrierws/fourthAppWeb</namespaceURI>
             </package-mapping>
             <java-xml-type-mapping>
             <java-type>
             arm.carrierws.CarrierProcessWrapped_getCarrierValue_ResponseStruct
             </java-type>
             <root-type-qname
             xmlns:typeNS="http://arm.carrierws/fourthAppWeb/types">
             typeNS:getCarrierValueResponse
             </root-type-qname>
             <qname-scope>complexType</qname-scope>
             <variable-mapping>
             <java-variable-name>result</java-variable-name>
             <xml-element-name>result</xml-element-name>
             </variable-mapping>
             </java-xml-type-mapping>
             <java-xml-type-mapping>
             <java-type>
             arm.carrierws.CarrierProcess_setCarrierValue_RequestStruct
             </java-type>
             <root-type-qname
             xmlns:typeNS="http://arm.carrierws/fourthAppWeb/types">
             typeNS:CarrierProcess_setCarrierValue_RequestStruct
             </root-type-qname>
             <qname-scope>complexType</qname-scope>
             <variable-mapping>
             <java-variable-name>
             carrierEntityValue_1
             </java-variable-name>
             <xml-element-name>carrierEntityValue_1</xml-element-name>
             </variable-mapping>
             </java-xml-type-mapping>
             <java-xml-type-mapping>
             <java-type>
             arm.carrierws.CarrierProcessWrapped_getCarrierValue_RequestStruct
             </java-type>
             <root-type-qname
             xmlns:typeNS="http://arm.carrierws/fourthAppWeb/types">
             typeNS:getCarrierValue
             </root-type-qname>
             <qname-scope>complexType</qname-scope>
             <variable-mapping>
             <java-variable-name>
             CarrierProcess_getCarrierValue_RequestStruct_1
             </java-variable-name>
             <xml-element-name>
             CarrierProcess_getCarrierValue_RequestStruct_1
             </xml-element-name>
             </variable-mapping>
             </java-xml-type-mapping>
             <java-xml-type-mapping>
             <java-type>
             arm.carrierws.CarrierProcessWrapped_setCarrierValue_RequestStruct
             </java-type>
             <root-type-qname
             xmlns:typeNS="http://arm.carrierws/fourthAppWeb/types">
             typeNS:setCarrierValue
             </root-type-qname>
             <qname-scope>complexType</qname-scope>
             <variable-mapping>
             <java-variable-name>
             CarrierProcess_setCarrierValue_RequestStruct_1
             </java-variable-name>
             <xml-element-name>
             CarrierProcess_setCarrierValue_RequestStruct_1
             </xml-element-name>
             </variable-mapping>
             </java-xml-type-mapping>
             <java-xml-type-mapping>
             <java-type>
             arm.carrierws.CarrierProcessWrapped_getCarrierName_ResponseStruct
             </java-type>
             <root-type-qname
             xmlns:typeNS="http://arm.carrierws/fourthAppWeb/types">
             typeNS:getCarrierNameResponse
             </root-type-qname>
             <qname-scope>complexType</qname-scope>
             <variable-mapping>
             <java-variable-name>result</java-variable-name>
             <xml-element-name>result</xml-element-name>
             </variable-mapping>
             </java-xml-type-mapping>
             <java-xml-type-mapping>
             <java-type>
             arm.carrierws.CarrierProcessWrapped_getCarrierName_RequestStruct
             </java-type>
             <root-type-qname
             xmlns:typeNS="http://arm.carrierws/fourthAppWeb/types">
             typeNS:getCarrierName
             </root-type-qname>
             <qname-scope>complexType</qname-scope>
             <variable-mapping>
             <java-variable-name>
             CarrierProcess_getCarrierName_RequestStruct_1
             </java-variable-name>
             <xml-element-name>
             CarrierProcess_getCarrierName_RequestStruct_1
             </xml-element-name>
             </variable-mapping>
             </java-xml-type-mapping>
             <java-xml-type-mapping>
             <java-type>
             arm.carrierws.CarrierProcess_getCarrierName_ResponseStruct
             </java-type>
             <root-type-qname
             xmlns:typeNS="http://arm.carrierws/fourthAppWeb/types">
             typeNS:CarrierProcess_getCarrierName_ResponseStruct
             </root-type-qname>
             <qname-scope>complexType</qname-scope>
             <variable-mapping>
             <java-variable-name>result</java-variable-name>
             <xml-element-name>result</xml-element-name>
             </variable-mapping>
             </java-xml-type-mapping>
             <java-xml-type-mapping>
             <java-type>
             arm.carrierws.CarrierProcess_setCarrierValue_ResponseStruct
             </java-type>
             <root-type-qname
             xmlns:typeNS="http://arm.carrierws/fourthAppWeb/types">
             typeNS:CarrierProcess_setCarrierValue_ResponseStruct
             </root-type-qname>
             <qname-scope>complexType</qname-scope>
             <variable-mapping>
             <java-variable-name>result</java-variable-name>
             <xml-element-name>result</xml-element-name>
             </variable-mapping>
             </java-xml-type-mapping>
             <java-xml-type-mapping>
             <java-type>
             arm.carrierws.CarrierProcess_getCarrierValue_RequestStruct
             </java-type>
             <root-type-qname
             xmlns:typeNS="http://arm.carrierws/fourthAppWeb/types">
             typeNS:CarrierProcess_getCarrierValue_RequestStruct
             </root-type-qname>
             <qname-scope>complexType</qname-scope>
             <variable-mapping>
             <java-variable-name>integer_1</java-variable-name>
             <xml-element-name>integer_1</xml-element-name>
             </variable-mapping>
             </java-xml-type-mapping>
             <java-xml-type-mapping>
             <java-type>
             arm.carrierws.CarrierProcessWrapped_setCarrierValue_ResponseStruct
             </java-type>
             <root-type-qname
             xmlns:typeNS="http://arm.carrierws/fourthAppWeb/types">
             typeNS:setCarrierValueResponse
             </root-type-qname>
             <qname-scope>complexType</qname-scope>
             <variable-mapping>
             <java-variable-name>result</java-variable-name>
             <xml-element-name>result</xml-element-name>
             </variable-mapping>
             </java-xml-type-mapping>
             <java-xml-type-mapping>
             <java-type>
             arm.carrierws.CarrierProcess_getCarrierName_RequestStruct
             </java-type>
             <root-type-qname
             xmlns:typeNS="http://arm.carrierws/fourthAppWeb/types">
             typeNS:CarrierProcess_getCarrierName_RequestStruct
             </root-type-qname>
             <qname-scope>complexType</qname-scope>
             <variable-mapping>
             <java-variable-name>integer_1</java-variable-name>
             <xml-element-name>integer_1</xml-element-name>
             </variable-mapping>
             </java-xml-type-mapping>
             <java-xml-type-mapping>
             <java-type>
             arm.carrierws.CarrierProcess_getCarrierValue_ResponseStruct
             </java-type>
             <root-type-qname
             xmlns:typeNS="http://arm.carrierws/fourthAppWeb/types">
             typeNS:CarrierProcess_getCarrierValue_ResponseStruct
             </root-type-qname>
             <qname-scope>complexType</qname-scope>
             <variable-mapping>
             <java-variable-name>result</java-variable-name>
             <xml-element-name>result</xml-element-name>
             </variable-mapping>
             </java-xml-type-mapping>
             <java-xml-type-mapping>
             <java-type>arm.interfaces.CarrierEntityValue</java-type>
             <root-type-qname
             xmlns:typeNS="http://arm.carrierws/fourthAppWeb/types">
             typeNS:CarrierEntityValue
             </root-type-qname>
             <qname-scope>complexType</qname-scope>
             <variable-mapping>
             <java-variable-name>carrier_id</java-variable-name>
             <xml-element-name>carrier_id</xml-element-name>
             </variable-mapping>
             <variable-mapping>
             <java-variable-name>carrier_name</java-variable-name>
             <xml-element-name>carrier_name</xml-element-name>
             </variable-mapping>
             <variable-mapping>
             <java-variable-name>primaryKey</java-variable-name>
             <xml-element-name>primaryKey</xml-element-name>
             </variable-mapping>
             </java-xml-type-mapping>
             <service-interface-mapping>
             <service-interface>
             arm.carrierws.CarrierProcessService
             </service-interface>
             <wsdl-service-name
             xmlns:serviceNS="http://arm.carrierws/fourthAppWeb">
             serviceNS:CarrierProcessService
             </wsdl-service-name>
             <port-mapping>
             <port-name>CarrierProcessWrappedPort</port-name>
             <java-port-name>CarrierProcessWrappedPort</java-port-name>
             </port-mapping>
             </service-interface-mapping>
             <service-endpoint-interface-mapping>
             <service-endpoint-interface>
             arm.carrierws.CarrierProcessWrapped
             </service-endpoint-interface>
             <wsdl-port-type
             xmlns:portTypeNS="http://arm.carrierws/fourthAppWeb">
             portTypeNS:CarrierProcessWrapped
             </wsdl-port-type>
             <wsdl-binding
             xmlns:bindingNS="http://arm.carrierws/fourthAppWeb">
             bindingNS:CarrierProcessWrappedBinding
             </wsdl-binding>
             <service-endpoint-method-mapping>
             <java-method-name>getCarrierName</java-method-name>
             <wsdl-operation>getCarrierName</wsdl-operation>
             <wrapped-element />
             <method-param-parts-mapping>
             <param-position>0</param-position>
             <param-type>
             arm.carrierws.CarrierProcess_getCarrierName_RequestStruct
             </param-type>
             <wsdl-message-mapping>
             <wsdl-message
             xmlns:wsdlMsgNS="http://arm.carrierws/fourthAppWeb">
             wsdlMsgNS:CarrierProcessWrapped_getCarrierName
             </wsdl-message>
             <wsdl-message-part-name>
             CarrierProcess_getCarrierName_RequestStruct_1
             </wsdl-message-part-name>
             <parameter-mode>IN</parameter-mode>
             </wsdl-message-mapping>
             </method-param-parts-mapping>
             <wsdl-return-value-mapping>
             <method-return-value>
             arm.carrierws.CarrierProcess_getCarrierName_ResponseStruct
             </method-return-value>
             <wsdl-message
             xmlns:wsdlMsgNS="http://arm.carrierws/fourthAppWeb">
             wsdlMsgNS:CarrierProcessWrapped_getCarrierNameResponse
             </wsdl-message>
             <wsdl-message-part-name>result</wsdl-message-part-name>
             </wsdl-return-value-mapping>
             </service-endpoint-method-mapping>
             <service-endpoint-method-mapping>
             <java-method-name>getCarrierValue</java-method-name>
             <wsdl-operation>getCarrierValue</wsdl-operation>
             <wrapped-element />
             <method-param-parts-mapping>
             <param-position>0</param-position>
             <param-type>
             arm.carrierws.CarrierProcess_getCarrierValue_RequestStruct
             </param-type>
             <wsdl-message-mapping>
             <wsdl-message
             xmlns:wsdlMsgNS="http://arm.carrierws/fourthAppWeb">
             wsdlMsgNS:CarrierProcessWrapped_getCarrierValue
             </wsdl-message>
             <wsdl-message-part-name>
             CarrierProcess_getCarrierValue_RequestStruct_1
             </wsdl-message-part-name>
             <parameter-mode>IN</parameter-mode>
             </wsdl-message-mapping>
             </method-param-parts-mapping>
             <wsdl-return-value-mapping>
             <method-return-value>
             arm.carrierws.CarrierProcess_getCarrierValue_ResponseStruct
             </method-return-value>
             <wsdl-message
             xmlns:wsdlMsgNS="http://arm.carrierws/fourthAppWeb">
             wsdlMsgNS:CarrierProcessWrapped_getCarrierValueResponse
             </wsdl-message>
             <wsdl-message-part-name>result</wsdl-message-part-name>
             </wsdl-return-value-mapping>
             </service-endpoint-method-mapping>
             <service-endpoint-method-mapping>
             <java-method-name>setCarrierValue</java-method-name>
             <wsdl-operation>setCarrierValue</wsdl-operation>
             <wrapped-element />
             <method-param-parts-mapping>
             <param-position>0</param-position>
             <param-type>
             arm.carrierws.CarrierProcess_setCarrierValue_RequestStruct
             </param-type>
             <wsdl-message-mapping>
             <wsdl-message
             xmlns:wsdlMsgNS="http://arm.carrierws/fourthAppWeb">
             wsdlMsgNS:CarrierProcessWrapped_setCarrierValue
             </wsdl-message>
             <wsdl-message-part-name>
             CarrierProcess_setCarrierValue_RequestStruct_1
             </wsdl-message-part-name>
             <parameter-mode>IN</parameter-mode>
             </wsdl-message-mapping>
             </method-param-parts-mapping>
             <wsdl-return-value-mapping>
             <method-return-value>
             arm.carrierws.CarrierProcess_setCarrierValue_ResponseStruct
             </method-return-value>
             <wsdl-message
             xmlns:wsdlMsgNS="http://arm.carrierws/fourthAppWeb">
             wsdlMsgNS:CarrierProcessWrapped_setCarrierValueResponse
             </wsdl-message>
             <wsdl-message-part-name>result</wsdl-message-part-name>
             </wsdl-return-value-mapping>
             </service-endpoint-method-mapping>
             </service-endpoint-interface-mapping>
            </java-wsdl-mapping>
            


            CarrierProcessService.wsdl:
            <?xml version="1.0" encoding="UTF-8"?>
            
            <definitions name="CarrierProcessService" targetNamespace="http://arm.carrierws/fourthAppWeb" xmlns:tns="http://arm.carrierws/fourthAppWeb" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://arm.carrierws/fourthAppWeb/types" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
             <types>
             <schema targetNamespace="http://arm.carrierws/fourthAppWeb/types" xmlns:tns="http://arm.carrierws/fourthAppWeb/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">
             <complexType name="getCarrierName">
             <sequence>
             <element name="CarrierProcess_getCarrierName_RequestStruct_1" type="tns:CarrierProcess_getCarrierName_RequestStruct" nillable="true"/></sequence></complexType>
             <complexType name="CarrierProcess_getCarrierName_RequestStruct">
             <sequence>
             <element name="integer_1" type="int" nillable="true"/></sequence></complexType>
             <complexType name="getCarrierNameResponse">
             <sequence>
             <element name="result" type="tns:CarrierProcess_getCarrierName_ResponseStruct" nillable="true"/></sequence></complexType>
             <complexType name="CarrierProcess_getCarrierName_ResponseStruct">
             <sequence>
             <element name="result" type="string" nillable="true"/></sequence></complexType>
             <complexType name="getCarrierValue">
             <sequence>
             <element name="CarrierProcess_getCarrierValue_RequestStruct_1" type="tns:CarrierProcess_getCarrierValue_RequestStruct" nillable="true"/></sequence></complexType>
             <complexType name="CarrierProcess_getCarrierValue_RequestStruct">
             <sequence>
             <element name="integer_1" type="int" nillable="true"/></sequence></complexType>
             <complexType name="getCarrierValueResponse">
             <sequence>
             <element name="result" type="tns:CarrierProcess_getCarrierValue_ResponseStruct" nillable="true"/></sequence></complexType>
             <complexType name="CarrierProcess_getCarrierValue_ResponseStruct">
             <sequence>
             <element name="result" type="tns:CarrierEntityValue" nillable="true"/></sequence></complexType>
             <complexType name="CarrierEntityValue">
             <sequence>
             <element name="carrier_id" type="int" nillable="true"/>
             <element name="carrier_name" type="string" nillable="true"/>
             <element name="primaryKey" type="int" nillable="true"/></sequence></complexType>
             <complexType name="setCarrierValue">
             <sequence>
             <element name="CarrierProcess_setCarrierValue_RequestStruct_1" type="tns:CarrierProcess_setCarrierValue_RequestStruct" nillable="true"/></sequence></complexType>
             <complexType name="CarrierProcess_setCarrierValue_RequestStruct">
             <sequence>
             <element name="carrierEntityValue_1" type="tns:CarrierEntityValue" nillable="true"/></sequence></complexType>
             <complexType name="setCarrierValueResponse">
             <sequence>
             <element name="result" type="tns:CarrierProcess_setCarrierValue_ResponseStruct" nillable="true"/></sequence></complexType>
             <complexType name="CarrierProcess_setCarrierValue_ResponseStruct">
             <sequence>
             <element name="result" type="string" nillable="true"/></sequence></complexType>
             <element name="getCarrierName" type="tns:getCarrierName"/>
             <element name="getCarrierNameResponse" type="tns:getCarrierNameResponse"/>
             <element name="getCarrierValue" type="tns:getCarrierValue"/>
             <element name="getCarrierValueResponse" type="tns:getCarrierValueResponse"/>
             <element name="setCarrierValue" type="tns:setCarrierValue"/>
             <element name="setCarrierValueResponse" type="tns:setCarrierValueResponse"/></schema></types>
             <message name="CarrierProcessWrapped_getCarrierName">
             <part name="parameters" element="ns2:getCarrierName"/></message>
             <message name="CarrierProcessWrapped_getCarrierNameResponse">
             <part name="result" element="ns2:getCarrierNameResponse"/></message>
             <message name="CarrierProcessWrapped_getCarrierValue">
             <part name="parameters" element="ns2:getCarrierValue"/></message>
             <message name="CarrierProcessWrapped_getCarrierValueResponse">
             <part name="result" element="ns2:getCarrierValueResponse"/></message>
             <message name="CarrierProcessWrapped_setCarrierValue">
             <part name="parameters" element="ns2:setCarrierValue"/></message>
             <message name="CarrierProcessWrapped_setCarrierValueResponse">
             <part name="result" element="ns2:setCarrierValueResponse"/></message>
             <portType name="CarrierProcessWrapped">
             <operation name="getCarrierName">
             <input message="tns:CarrierProcessWrapped_getCarrierName"/>
             <output message="tns:CarrierProcessWrapped_getCarrierNameResponse"/></operation>
             <operation name="getCarrierValue">
             <input message="tns:CarrierProcessWrapped_getCarrierValue"/>
             <output message="tns:CarrierProcessWrapped_getCarrierValueResponse"/></operation>
             <operation name="setCarrierValue">
             <input message="tns:CarrierProcessWrapped_setCarrierValue"/>
             <output message="tns:CarrierProcessWrapped_setCarrierValueResponse"/></operation></portType>
             <binding name="CarrierProcessWrappedBinding" type="tns:CarrierProcessWrapped">
             <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
             <operation name="getCarrierName">
             <soap:operation soapAction=""/>
             <input>
             <soap:body use="literal"/></input>
             <output>
             <soap:body use="literal"/></output></operation>
             <operation name="getCarrierValue">
             <soap:operation soapAction=""/>
             <input>
             <soap:body use="literal"/></input>
             <output>
             <soap:body use="literal"/></output></operation>
             <operation name="setCarrierValue">
             <soap:operation soapAction=""/>
             <input>
             <soap:body use="literal"/></input>
             <output>
             <soap:body use="literal"/></output></operation></binding>
             <service name="CarrierProcessService">
             <port name="CarrierProcessWrappedPort" binding="tns:CarrierProcessWrappedBinding">
             <soap:address location="REPLACE_WITH_ACTUAL_URL"/></port></service></definitions>
            


            CarrierEntityValue.java (Entity Bean Value Object, generated by XDoclet):
            public class CarrierEntityValue
             extends java.lang.Object
             implements java.io.Serializable
            {
             private java.lang.Integer carrier_id;
             private boolean carrier_idHasBeenSet = false;
             private java.lang.String carrier_name;
             private boolean carrier_nameHasBeenSet = false;
            
             private java.lang.Integer pk;
            
             public CarrierEntityValue()
             {
             }
            
             public CarrierEntityValue( java.lang.Integer carrier_id,java.lang.String carrier_name )
             {
             this.carrier_id = carrier_id;
             carrier_idHasBeenSet = true;
             this.carrier_name = carrier_name;
             carrier_nameHasBeenSet = true;
             pk = this.getCarrier_id();
             }


            Thanks,
            A.

            • 3. Re: StackOverflowError when accessing WS
              Adam Meghji Newbie

              update: I was able to work around the problem by using a different object with my webservice -- CarrierStruct instead of CarrierEntityValue.

              CarrierEntityValue was an XDoclet-generated Value Object based on an Entity Bean. CarrierStruct is a POJO, and looks like this:

              public class CarrierStruct {
              
               private Integer carrier_id;
               private String carrier_name;
              
               ... no constructor ...
               ... getters/setters ...
              
              }


              My pre-wrapped endpoint now looks like this (CarrierProcess.java) :
              public interface CarrierProcess extends Remote {
               String getCarrierName(Integer carrier_id) throws RemoteException;
               CarrierStruct getCarrierValue(Integer carrier_id) throws RemoteException;
               String setCarrierValue(CarrierStruct carrierValue) throws RemoteException;
              }
              


              Hopefully this helps out whoever's looking after this issue (bug??).

              Thanks,
              A

              • 4. Re: StackOverflowError when accessing WS
                Thomas Diesler Master

                Could you please create a JIRA issue and attach a sample deployment that allows us to reproduce what you are seeing. Idealy, the sample deployment is a webapp packaged as a war that will show the issue when we click on a link. The war should also contain the sources.