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 "Pat Bateman (JIRA)" <ji...@apache.org> on 2007/11/20 18:27:43 UTC

[jira] Created: (AXIS2-3355) Multi-threading: java.lang.RuntimeException: Data binding error

Multi-threading: java.lang.RuntimeException: Data binding error
---------------------------------------------------------------

                 Key: AXIS2-3355
                 URL: https://issues.apache.org/jira/browse/AXIS2-3355
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: databinding
    Affects Versions: 1.2
         Environment: -          MS Windows XP Professional SP2
-          Axis2 1.3 with XML Beans data binding (axiom-api1.2.4, kernel 1.2, stax 1.0.1, xbean 2.2.0)
-          Websphere 6.1 and Tomcat 6
-          JDK 1.5.0_12
-          Maven 2.0.7 with java2wsdl and wsdl2java codegens

 


            Reporter: Pat Bateman


Service.xml

<service name="SpringInit" class="com.SpringInit">
    <description>
      This web service initializes Spring.
    </description>
    <parameter name="ServiceClass">
        com.SpringInit
    </parameter>
    
    <!-- Make sure the Spring class loader is used for the Web service, 
         allowing it to properly instantiate the Spring application context -->

    <parameter name="ServiceTCCL">composite</parameter>
      <!-- Ensure the service loads up immediately on startup, creating the Spring application context -->
    <parameter name="load-on-startup">true</parameter>

    <operation name="springInit">
      <messageReceiver 
      class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
    </operation>
  </service>

<service name="OurService" scope="request">
    <description>
        Our Web Service.
    </description>
    <parameter name="ServiceClass" locked="false">
      com.RecommendationService
    </parameter>
    <parameter name="ServiceObjectSupplier">
        org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier
    </parameter>

    <parameter name="SpringBeanName">ourService</parameter>   
      <messageReceivers>
            <messageReceiver  mep="http://www.w3.org/2004/08/wsdl/in-out"  
                                    class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
      </messageReceivers>   
  </service>
 

Two methods:

 

 

public void updateSubscriber(SubscriberRequest request) {

      

        long time = System.currentTimeMillis();

        try {

            Thread.sleep(20000);

        } catch (Exception e) {

            

        }        

        log.warn("UPDATE " + request.getClientId() + " : " + String.valueOf(time));

        

    }

 

public void disableSubscriber(SubscriberRequest request) {

      

        long time = System.currentTimeMillis();

        try {

            Thread.sleep(20000);

        } catch (Exception e) {

            

        }

        log.warn("DISABLE " + request.getClientId() + " : " + String.valueOf(time));

        

    }

 

 

The client looks like this:

 

OurServiceSOAP11PortStub portal = 

                new OurServiceSOAP11PortStub (url);

 

ServiceClient serviceClient = portal._getServiceClient();

Options options = serviceClient.getOptions();

options.setProperty(HTTPConstants.CHUNKED, new Boolean(false));

client.setPortal(portal);

 

 

 

Scenario:

 

We have 2 instances of the client, client1 and client2.

1- Client1 calls updateSubscriber

 

2- A couple of seconds later, client2 calls disableSubscriber

 

3- Client2 obtains a valid response, and the following log line is printed

WARN  [http-8080-1][][com.qualcomm.bcs.recommendation.RecommendationServiceImpl] DISABLE client2 : 1195034820156

 

4- Client1, after printing the following log line...

WARN  [http-8080-2][][com.qualcomm.bcs.recommendation.RecommendationServiceImpl] DISABLE client1 : 1195034819759

(Which is printed BEFORE the client2's one. Note the log.warn() call is the same, but the request and the millis are not)

 

... throws this exception

 

java.lang.RuntimeException: Data binding error

        at com.OurServiceSOAP11PortStub.fromOM(Recommend

ationServiceRecommendationServiceSOAP11PortStub.java:3318)

        at com.ws.OurServiceSOAP11PortStub.updateSubscriber

(OurServiceSOAP11PortStub.java:1255)

        at com.testclient.TestClient.updateSubscriber(TestClient.java:918)

        at com.testclient.TestClient.performOperation(TestClient.java:552)

        at com.testclient.TestClient.main(TestClient.java:1176)

Caused by: org.apache.xmlbeans.XmlException: Element disableSubscriberResponse@http://com/xs

d is not a valid updateSubscriberResponse@http://com/xsd document or a valid substitution.

        at org.apache.xmlbeans.impl.store.Locale.autoTypeDocument(Locale.java:322)

        at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:850)

        at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:826)

        at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:231)

        at com.xsd.UpdateSubscriberResponseDocument$Factory.parse(UpdateSubscriberResponseDo

cument.java:138)

        at com.ws. OurServiceSOAP11PortStub.fromOM(OurServiceSOAP11PortStub.java:3307)

 

Highlighted in bold the mismatch between what was supposed to be an updateResponse and got a disableResponse instead.

 

 

 

 


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Commented: (AXIS2-3355) Multi-threading: java.lang.RuntimeException: Data binding error

Posted by "Davanum Srinivas (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-3355?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12578030#action_12578030 ] 

Davanum Srinivas commented on AXIS2-3355:
-----------------------------------------

Pat,

Please try Axis2 1.3 or latest nightly and submit a test for us to recreate the issue.

thanks,
dims

> Multi-threading: java.lang.RuntimeException: Data binding error
> ---------------------------------------------------------------
>
>                 Key: AXIS2-3355
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3355
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: databinding
>    Affects Versions: 1.2
>         Environment: -          MS Windows XP Professional SP2
> -          Axis2 1.3 with XML Beans data binding (axiom-api1.2.4, kernel 1.2, stax 1.0.1, xbean 2.2.0)
> -          Websphere 6.1 and Tomcat 6
> -          JDK 1.5.0_12
> -          Maven 2.0.7 with java2wsdl and wsdl2java codegens
>  
>            Reporter: Pat Bateman
>
> Service.xml
> <service name="SpringInit" class="com.SpringInit">
>     <description>
>       This web service initializes Spring.
>     </description>
>     <parameter name="ServiceClass">
>         com.SpringInit
>     </parameter>
>     
>     <!-- Make sure the Spring class loader is used for the Web service, 
>          allowing it to properly instantiate the Spring application context -->
>     <parameter name="ServiceTCCL">composite</parameter>
>       <!-- Ensure the service loads up immediately on startup, creating the Spring application context -->
>     <parameter name="load-on-startup">true</parameter>
>     <operation name="springInit">
>       <messageReceiver 
>       class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
>     </operation>
>   </service>
> <service name="OurService" scope="request">
>     <description>
>         Our Web Service.
>     </description>
>     <parameter name="ServiceClass" locked="false">
>       com.RecommendationService
>     </parameter>
>     <parameter name="ServiceObjectSupplier">
>         org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier
>     </parameter>
>     <parameter name="SpringBeanName">ourService</parameter>   
>       <messageReceivers>
>             <messageReceiver  mep="http://www.w3.org/2004/08/wsdl/in-out"  
>                                     class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
>       </messageReceivers>   
>   </service>
>  
> Two methods:
>  
>  
> public void updateSubscriber(SubscriberRequest request) {
>       
>         long time = System.currentTimeMillis();
>         try {
>             Thread.sleep(20000);
>         } catch (Exception e) {
>             
>         }        
>         log.warn("UPDATE " + request.getClientId() + " : " + String.valueOf(time));
>         
>     }
>  
> public void disableSubscriber(SubscriberRequest request) {
>       
>         long time = System.currentTimeMillis();
>         try {
>             Thread.sleep(20000);
>         } catch (Exception e) {
>             
>         }
>         log.warn("DISABLE " + request.getClientId() + " : " + String.valueOf(time));
>         
>     }
>  
>  
> The client looks like this:
>  
> OurServiceSOAP11PortStub portal = 
>                 new OurServiceSOAP11PortStub (url);
>  
> ServiceClient serviceClient = portal._getServiceClient();
> Options options = serviceClient.getOptions();
> options.setProperty(HTTPConstants.CHUNKED, new Boolean(false));
> client.setPortal(portal);
>  
>  
>  
> Scenario:
>  
> We have 2 instances of the client, client1 and client2.
> 1- Client1 calls updateSubscriber
>  
> 2- A couple of seconds later, client2 calls disableSubscriber
>  
> 3- Client2 obtains a valid response, and the following log line is printed
> WARN  [http-8080-1][][com.qualcomm.bcs.recommendation.RecommendationServiceImpl] DISABLE client2 : 1195034820156
>  
> 4- Client1, after printing the following log line...
> WARN  [http-8080-2][][com.qualcomm.bcs.recommendation.RecommendationServiceImpl] DISABLE client1 : 1195034819759
> (Which is printed BEFORE the client2's one. Note the log.warn() call is the same, but the request and the millis are not)
>  
> ... throws this exception
>  
> java.lang.RuntimeException: Data binding error
>         at com.OurServiceSOAP11PortStub.fromOM(Recommend
> ationServiceRecommendationServiceSOAP11PortStub.java:3318)
>         at com.ws.OurServiceSOAP11PortStub.updateSubscriber
> (OurServiceSOAP11PortStub.java:1255)
>         at com.testclient.TestClient.updateSubscriber(TestClient.java:918)
>         at com.testclient.TestClient.performOperation(TestClient.java:552)
>         at com.testclient.TestClient.main(TestClient.java:1176)
> Caused by: org.apache.xmlbeans.XmlException: Element disableSubscriberResponse@http://com/xs
> d is not a valid updateSubscriberResponse@http://com/xsd document or a valid substitution.
>         at org.apache.xmlbeans.impl.store.Locale.autoTypeDocument(Locale.java:322)
>         at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:850)
>         at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:826)
>         at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:231)
>         at com.xsd.UpdateSubscriberResponseDocument$Factory.parse(UpdateSubscriberResponseDo
> cument.java:138)
>         at com.ws. OurServiceSOAP11PortStub.fromOM(OurServiceSOAP11PortStub.java:3307)
>  
> Highlighted in bold the mismatch between what was supposed to be an updateResponse and got a disableResponse instead.
>  
>  
>  
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


[jira] Resolved: (AXIS2-3355) Multi-threading: java.lang.RuntimeException: Data binding error

Posted by "Davanum Srinivas (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2-3355?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Davanum Srinivas resolved AXIS2-3355.
-------------------------------------

    Resolution: Cannot Reproduce

> Multi-threading: java.lang.RuntimeException: Data binding error
> ---------------------------------------------------------------
>
>                 Key: AXIS2-3355
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3355
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: databinding
>    Affects Versions: 1.2
>         Environment: -          MS Windows XP Professional SP2
> -          Axis2 1.3 with XML Beans data binding (axiom-api1.2.4, kernel 1.2, stax 1.0.1, xbean 2.2.0)
> -          Websphere 6.1 and Tomcat 6
> -          JDK 1.5.0_12
> -          Maven 2.0.7 with java2wsdl and wsdl2java codegens
>  
>            Reporter: Pat Bateman
>
> Service.xml
> <service name="SpringInit" class="com.SpringInit">
>     <description>
>       This web service initializes Spring.
>     </description>
>     <parameter name="ServiceClass">
>         com.SpringInit
>     </parameter>
>     
>     <!-- Make sure the Spring class loader is used for the Web service, 
>          allowing it to properly instantiate the Spring application context -->
>     <parameter name="ServiceTCCL">composite</parameter>
>       <!-- Ensure the service loads up immediately on startup, creating the Spring application context -->
>     <parameter name="load-on-startup">true</parameter>
>     <operation name="springInit">
>       <messageReceiver 
>       class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
>     </operation>
>   </service>
> <service name="OurService" scope="request">
>     <description>
>         Our Web Service.
>     </description>
>     <parameter name="ServiceClass" locked="false">
>       com.RecommendationService
>     </parameter>
>     <parameter name="ServiceObjectSupplier">
>         org.apache.axis2.extensions.spring.receivers.SpringAppContextAwareObjectSupplier
>     </parameter>
>     <parameter name="SpringBeanName">ourService</parameter>   
>       <messageReceivers>
>             <messageReceiver  mep="http://www.w3.org/2004/08/wsdl/in-out"  
>                                     class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
>       </messageReceivers>   
>   </service>
>  
> Two methods:
>  
>  
> public void updateSubscriber(SubscriberRequest request) {
>       
>         long time = System.currentTimeMillis();
>         try {
>             Thread.sleep(20000);
>         } catch (Exception e) {
>             
>         }        
>         log.warn("UPDATE " + request.getClientId() + " : " + String.valueOf(time));
>         
>     }
>  
> public void disableSubscriber(SubscriberRequest request) {
>       
>         long time = System.currentTimeMillis();
>         try {
>             Thread.sleep(20000);
>         } catch (Exception e) {
>             
>         }
>         log.warn("DISABLE " + request.getClientId() + " : " + String.valueOf(time));
>         
>     }
>  
>  
> The client looks like this:
>  
> OurServiceSOAP11PortStub portal = 
>                 new OurServiceSOAP11PortStub (url);
>  
> ServiceClient serviceClient = portal._getServiceClient();
> Options options = serviceClient.getOptions();
> options.setProperty(HTTPConstants.CHUNKED, new Boolean(false));
> client.setPortal(portal);
>  
>  
>  
> Scenario:
>  
> We have 2 instances of the client, client1 and client2.
> 1- Client1 calls updateSubscriber
>  
> 2- A couple of seconds later, client2 calls disableSubscriber
>  
> 3- Client2 obtains a valid response, and the following log line is printed
> WARN  [http-8080-1][][com.qualcomm.bcs.recommendation.RecommendationServiceImpl] DISABLE client2 : 1195034820156
>  
> 4- Client1, after printing the following log line...
> WARN  [http-8080-2][][com.qualcomm.bcs.recommendation.RecommendationServiceImpl] DISABLE client1 : 1195034819759
> (Which is printed BEFORE the client2's one. Note the log.warn() call is the same, but the request and the millis are not)
>  
> ... throws this exception
>  
> java.lang.RuntimeException: Data binding error
>         at com.OurServiceSOAP11PortStub.fromOM(Recommend
> ationServiceRecommendationServiceSOAP11PortStub.java:3318)
>         at com.ws.OurServiceSOAP11PortStub.updateSubscriber
> (OurServiceSOAP11PortStub.java:1255)
>         at com.testclient.TestClient.updateSubscriber(TestClient.java:918)
>         at com.testclient.TestClient.performOperation(TestClient.java:552)
>         at com.testclient.TestClient.main(TestClient.java:1176)
> Caused by: org.apache.xmlbeans.XmlException: Element disableSubscriberResponse@http://com/xs
> d is not a valid updateSubscriberResponse@http://com/xsd document or a valid substitution.
>         at org.apache.xmlbeans.impl.store.Locale.autoTypeDocument(Locale.java:322)
>         at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:850)
>         at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:826)
>         at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:231)
>         at com.xsd.UpdateSubscriberResponseDocument$Factory.parse(UpdateSubscriberResponseDo
> cument.java:138)
>         at com.ws. OurServiceSOAP11PortStub.fromOM(OurServiceSOAP11PortStub.java:3307)
>  
> Highlighted in bold the mismatch between what was supposed to be an updateResponse and got a disableResponse instead.
>  
>  
>  
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org