You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by "Maryna Zilske (JIRA)" <ji...@apache.org> on 2010/09/20 09:38:33 UTC

[jira] Created: (AXIS2-4822) 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class

'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
------------------------------------------------------------------------------------------------------------------

                 Key: AXIS2-4822
                 URL: https://issues.apache.org/jira/browse/AXIS2-4822
             Project: Axis2
          Issue Type: Bug
          Components: jaxws
    Affects Versions: 1.5.1
         Environment: websphere 6.1.23 unix
            Reporter: Maryna Zilske


'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 

The class org.apache.axis2.jaxws.description.impl. OperationDescriptionImpl.class has an attribute 'faultDescriptions'. This attribute is an ArrayList of org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl- objects.


The class 
org.apache.axis2.jaxws.runtime.description.marshal.impl.MarshalServiceRuntimeDescriptionImpl  has an attribute 'faultBeanDescMap'. This attribute is a HashMap  contended:

key value a org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl
value object an instance of org.apache.axis2.jaxws.runtime.description.marshal.impl.FaultBeanDescImpl.class

We have a productive runtime NullPointerEception in  org.apache.axis2.jaxws.marshaller.impl.alt MethodMarshallerUtils in the method demarshalFaultResponse on line 

QName tryName = new (faultBeansDesc.getFaultBeanNameSpase ...

because faultBeansDesc is null: 


Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
	at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:180)
	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:79)
	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:134)
	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:372)
	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:400)
	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:373)
	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:294)
	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:147)
	at $Proxy30.ermittelnHilfsmittelVertraege(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor938.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:416)
	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:392)
	... 40 more
Caused by: java.lang.NullPointerException
	at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:887)
	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:366)
	... 50 more

I switched the log level on axis2.jaxws and see:

[14.09.10 08:18:51:002 CEST] 0000001e DescriptionFa 1 org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl createServiceDescription Cache Map = {org.apache.axis2.jaxws.description.DescriptionKey@b1873327=org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl@14881488
ServiceQName: {http://de/}HelloImplService
isWSDLSpecified: true; WSDL Location: file:./WEB-INF/wsdl/HelloImplService.wsdl
WSDL Definition available: true; Generated WSDL Definition available: false
Number of ports: 1
Port QNames: {http://de/}HelloImplPort; 
Number of EndpointDescrptions: 1
org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl@203c203c
Name: HelloImpl; Endpoint Address: http://127.0.0.1:9080/FaultTest/HelloImplService
ServiceQName: {http://de/}HelloImplService; PortQName: {http://de/}HelloImplPort; TargetNamespace: http://de/
Service Mode: null; Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http; Client Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http
Is provider-based: false; Is proxy-based: true; Is WSDL fully specified: true
AxisService: org.apache.axis2.description.AxisService@5480548
EndpointInterfaceDescription: org.apache.axis2.jaxws.description.impl.EndpointInterfaceDescriptionImpl@26a026a
Name: HelloImpl; PortType: {http://de/}HelloImpl
SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
Number of operations: 1
Operation: org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl@2d802d8
Name: sayHelloWorld; Operation Name: sayHelloWorld; Action: 
Operation excluded: false; Is oneway: false; Is returning result: true; Is result header: false; Is JAXWS Client Async method: false
SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
Result name: return; Result part name: return; Result type: class java.lang.String; Result actual type: class java.lang.String
Request Wrapper class: de.SayHelloWorld; Response Wrapper class: de.SayHelloWorldResponse
Java declaring class name: de.HelloImpl
Java method name: sayHelloWorld
Java paramaters: [Ljava.lang.String;@44e844e8
Service Implementation method: null
Axis Operation: org.apache.axis2.description.OutInAxisOperation@3ece3ece
Number of Parameter Descriptions: 1
Parameter Description: org.apache.axis2.jaxws.description.impl.ParameterDescriptionImpl@13b813b8
Name: arg0
Is header: false; Is holder: false
Mode: IN
Type: class java.lang.String; Actual type: class java.lang.String
Number of Fault Descriptions: 1
Fault Description: org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl@5f345f34
Exception class: de.WebServiceFaultException_Exception
Name: WebServiceFault
Namespace: WebServiceFault
FaultBean: de.WebServiceFaultException
FaultInfo Type Name  : de.WebServiceFaultException
No Attachment Descriptions
RuntimeDescriptions:0

RuntimeDescriptions:1

  MarshalServiceRuntime:JAXWS-MARSHAL
    Packages = [de]
    AnnotationDesc cached for:de.SayHelloWorld
      @XMLRootElement exists = false
    AnnotationDesc cached for:de.WebServiceFaultException
      @XMLRootElement exists = false
    AnnotationDesc cached for:java.lang.String
      @XMLRootElement exists = false
    AnnotationDesc cached for:de.SayHelloWorldResponse
      @XMLRootElement exists = false
    PropertyDescriptorPlus Map cached for:de.SayHelloWorldResponse
      propertyName   =return
        xmlName      =return
        propertyType =java.lang.String

    PropertyDescriptorPlus Map cached for:de.SayHelloWorld
      propertyName   =arg0
        xmlName      =arg0
        propertyType =java.lang.String
    RequestWrappers
    Operation:sayHelloWorld RequestWrapper:de.SayHelloWorld    ResponseWrappers
    Operation:sayHelloWorld ResponseWrapper:de.SayHelloWorldResponse    FaultBeanDesc
    FaultException:de.WebServiceFaultException_Exception

      FaultBean Class Name :de.WebServiceFaultException
      FaultBean Namespace  :http://de/
      FaultBean Local Name :WebServiceFault

}

The out- and in- messages are correct. If no 

RuntimeDescriptions:1

  MarshalServiceRuntime:JAXWS-MARSHAL
....

in log file is available, the program runs correct. So the failure is only on runtime description fragment.
Actually code in MethodMarshallerUtils  musts fail, because:
 
        FaultDescription fd = operationDesc.getFaultDescriptions()[i];
// gives an instance of FaultDescriptionImpl from ArrayList
        FaultBeanDesc faultBeanDesc = marshalDesc.getFaultBeanDesc(fd);
// search for instance in another HashMap and a key value for search hasn't equals method,
// the next code trays to operate with NULL object:
        QName tryQName = new QName(faultBeanDesc.getFaultBeanNamespace(), ... 

Please, consider to correct this bug.
Our solution for production environment is to redefine the interface. There are only request and response messages and no fault any more. It is not pretty.

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Commented: (AXIS2-4822) 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class

Posted by "Rich Scheuerle (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12914396#action_12914396 ] 

Rich Scheuerle commented on AXIS2-4822:
---------------------------------------

The problem is  unrelated to a missing 'equals' or 'hashcode' method.

This problem is fixed in the current version of Axis2 (JAX-WS), which guards the tryQName statement.

I will work with Maryna via the IBM support channel to provide a solution to her team for the older version of Axis2 used by the IBM WebSphere product.

thanks,
Rich Scheuerle


> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4822
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4822
>             Project: Axis2
>          Issue Type: Bug
>          Components: jaxws
>    Affects Versions: 1.5.1
>         Environment: websphere 6.1.23 unix
>            Reporter: Maryna Zilske
>            Assignee: Rich Scheuerle
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> The class org.apache.axis2.jaxws.description.impl. OperationDescriptionImpl.class has an attribute 'faultDescriptions'. This attribute is an ArrayList of org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl- objects.
> The class 
> org.apache.axis2.jaxws.runtime.description.marshal.impl.MarshalServiceRuntimeDescriptionImpl  has an attribute 'faultBeanDescMap'. This attribute is a HashMap  contended:
> key value a org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl
> value object an instance of org.apache.axis2.jaxws.runtime.description.marshal.impl.FaultBeanDescImpl.class
> We have a productive runtime NullPointerEception in  org.apache.axis2.jaxws.marshaller.impl.alt MethodMarshallerUtils in the method demarshalFaultResponse on line 
> QName tryName = new (faultBeansDesc.getFaultBeanNameSpase ...
> because faultBeansDesc is null: 
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:180)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:79)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:134)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:372)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:400)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:373)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:294)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:147)
> 	at $Proxy30.ermittelnHilfsmittelVertraege(Unknown Source)
> 	at sun.reflect.GeneratedMethodAccessor938.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:416)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:392)
> 	... 40 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:887)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:366)
> 	... 50 more
> I switched the log level on axis2.jaxws and see:
> [14.09.10 08:18:51:002 CEST] 0000001e DescriptionFa 1 org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl createServiceDescription Cache Map = {org.apache.axis2.jaxws.description.DescriptionKey@b1873327=org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl@14881488
> ServiceQName: {http://de/}HelloImplService
> isWSDLSpecified: true; WSDL Location: file:./WEB-INF/wsdl/HelloImplService.wsdl
> WSDL Definition available: true; Generated WSDL Definition available: false
> Number of ports: 1
> Port QNames: {http://de/}HelloImplPort; 
> Number of EndpointDescrptions: 1
> org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl@203c203c
> Name: HelloImpl; Endpoint Address: http://127.0.0.1:9080/FaultTest/HelloImplService
> ServiceQName: {http://de/}HelloImplService; PortQName: {http://de/}HelloImplPort; TargetNamespace: http://de/
> Service Mode: null; Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http; Client Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http
> Is provider-based: false; Is proxy-based: true; Is WSDL fully specified: true
> AxisService: org.apache.axis2.description.AxisService@5480548
> EndpointInterfaceDescription: org.apache.axis2.jaxws.description.impl.EndpointInterfaceDescriptionImpl@26a026a
> Name: HelloImpl; PortType: {http://de/}HelloImpl
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Number of operations: 1
> Operation: org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl@2d802d8
> Name: sayHelloWorld; Operation Name: sayHelloWorld; Action: 
> Operation excluded: false; Is oneway: false; Is returning result: true; Is result header: false; Is JAXWS Client Async method: false
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Result name: return; Result part name: return; Result type: class java.lang.String; Result actual type: class java.lang.String
> Request Wrapper class: de.SayHelloWorld; Response Wrapper class: de.SayHelloWorldResponse
> Java declaring class name: de.HelloImpl
> Java method name: sayHelloWorld
> Java paramaters: [Ljava.lang.String;@44e844e8
> Service Implementation method: null
> Axis Operation: org.apache.axis2.description.OutInAxisOperation@3ece3ece
> Number of Parameter Descriptions: 1
> Parameter Description: org.apache.axis2.jaxws.description.impl.ParameterDescriptionImpl@13b813b8
> Name: arg0
> Is header: false; Is holder: false
> Mode: IN
> Type: class java.lang.String; Actual type: class java.lang.String
> Number of Fault Descriptions: 1
> Fault Description: org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl@5f345f34
> Exception class: de.WebServiceFaultException_Exception
> Name: WebServiceFault
> Namespace: WebServiceFault
> FaultBean: de.WebServiceFaultException
> FaultInfo Type Name  : de.WebServiceFaultException
> No Attachment Descriptions
> RuntimeDescriptions:0
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
>     Packages = [de]
>     AnnotationDesc cached for:de.SayHelloWorld
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.WebServiceFaultException
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:java.lang.String
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.SayHelloWorldResponse
>       @XMLRootElement exists = false
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorldResponse
>       propertyName   =return
>         xmlName      =return
>         propertyType =java.lang.String
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorld
>       propertyName   =arg0
>         xmlName      =arg0
>         propertyType =java.lang.String
>     RequestWrappers
>     Operation:sayHelloWorld RequestWrapper:de.SayHelloWorld    ResponseWrappers
>     Operation:sayHelloWorld ResponseWrapper:de.SayHelloWorldResponse    FaultBeanDesc
>     FaultException:de.WebServiceFaultException_Exception
>       FaultBean Class Name :de.WebServiceFaultException
>       FaultBean Namespace  :http://de/
>       FaultBean Local Name :WebServiceFault
> }
> The out- and in- messages are correct. If no 
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
> ....
> in log file is available, the program runs correct. So the failure is only on runtime description fragment.
> Actually code in MethodMarshallerUtils  musts fail, because:
>  
>         FaultDescription fd = operationDesc.getFaultDescriptions()[i];
> // gives an instance of FaultDescriptionImpl from ArrayList
>         FaultBeanDesc faultBeanDesc = marshalDesc.getFaultBeanDesc(fd);
> // search for instance in another HashMap and a key value for search hasn't equals method,
> // the next code trays to operate with NULL object:
>         QName tryQName = new QName(faultBeanDesc.getFaultBeanNamespace(), ... 
> Please, consider to correct this bug.
> Our solution for production environment is to redefine the interface. There are only request and response messages and no fault any more. It is not pretty.

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Commented: (AXIS2-4822) 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class

Posted by "Rich Scheuerle (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12914399#action_12914399 ] 

Rich Scheuerle commented on AXIS2-4822:
---------------------------------------

On second thought, there may be a problem with the FaultBeanDescriptor equals method.

I will be working with the Maryna via the IBM support channel to address this issue.

thanks,
Rich Scheuerle

> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4822
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4822
>             Project: Axis2
>          Issue Type: Bug
>          Components: jaxws
>    Affects Versions: 1.5.1
>         Environment: websphere 6.1.23 unix
>            Reporter: Maryna Zilske
>            Assignee: Rich Scheuerle
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> The class org.apache.axis2.jaxws.description.impl. OperationDescriptionImpl.class has an attribute 'faultDescriptions'. This attribute is an ArrayList of org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl- objects.
> The class 
> org.apache.axis2.jaxws.runtime.description.marshal.impl.MarshalServiceRuntimeDescriptionImpl  has an attribute 'faultBeanDescMap'. This attribute is a HashMap  contended:
> key value a org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl
> value object an instance of org.apache.axis2.jaxws.runtime.description.marshal.impl.FaultBeanDescImpl.class
> We have a productive runtime NullPointerEception in  org.apache.axis2.jaxws.marshaller.impl.alt MethodMarshallerUtils in the method demarshalFaultResponse on line 
> QName tryName = new (faultBeansDesc.getFaultBeanNameSpase ...
> because faultBeansDesc is null: 
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:180)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:79)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:134)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:372)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:400)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:373)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:294)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:147)
> 	at $Proxy30.ermittelnHilfsmittelVertraege(Unknown Source)
> 	at sun.reflect.GeneratedMethodAccessor938.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:416)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:392)
> 	... 40 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:887)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:366)
> 	... 50 more
> I switched the log level on axis2.jaxws and see:
> [14.09.10 08:18:51:002 CEST] 0000001e DescriptionFa 1 org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl createServiceDescription Cache Map = {org.apache.axis2.jaxws.description.DescriptionKey@b1873327=org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl@14881488
> ServiceQName: {http://de/}HelloImplService
> isWSDLSpecified: true; WSDL Location: file:./WEB-INF/wsdl/HelloImplService.wsdl
> WSDL Definition available: true; Generated WSDL Definition available: false
> Number of ports: 1
> Port QNames: {http://de/}HelloImplPort; 
> Number of EndpointDescrptions: 1
> org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl@203c203c
> Name: HelloImpl; Endpoint Address: http://127.0.0.1:9080/FaultTest/HelloImplService
> ServiceQName: {http://de/}HelloImplService; PortQName: {http://de/}HelloImplPort; TargetNamespace: http://de/
> Service Mode: null; Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http; Client Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http
> Is provider-based: false; Is proxy-based: true; Is WSDL fully specified: true
> AxisService: org.apache.axis2.description.AxisService@5480548
> EndpointInterfaceDescription: org.apache.axis2.jaxws.description.impl.EndpointInterfaceDescriptionImpl@26a026a
> Name: HelloImpl; PortType: {http://de/}HelloImpl
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Number of operations: 1
> Operation: org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl@2d802d8
> Name: sayHelloWorld; Operation Name: sayHelloWorld; Action: 
> Operation excluded: false; Is oneway: false; Is returning result: true; Is result header: false; Is JAXWS Client Async method: false
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Result name: return; Result part name: return; Result type: class java.lang.String; Result actual type: class java.lang.String
> Request Wrapper class: de.SayHelloWorld; Response Wrapper class: de.SayHelloWorldResponse
> Java declaring class name: de.HelloImpl
> Java method name: sayHelloWorld
> Java paramaters: [Ljava.lang.String;@44e844e8
> Service Implementation method: null
> Axis Operation: org.apache.axis2.description.OutInAxisOperation@3ece3ece
> Number of Parameter Descriptions: 1
> Parameter Description: org.apache.axis2.jaxws.description.impl.ParameterDescriptionImpl@13b813b8
> Name: arg0
> Is header: false; Is holder: false
> Mode: IN
> Type: class java.lang.String; Actual type: class java.lang.String
> Number of Fault Descriptions: 1
> Fault Description: org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl@5f345f34
> Exception class: de.WebServiceFaultException_Exception
> Name: WebServiceFault
> Namespace: WebServiceFault
> FaultBean: de.WebServiceFaultException
> FaultInfo Type Name  : de.WebServiceFaultException
> No Attachment Descriptions
> RuntimeDescriptions:0
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
>     Packages = [de]
>     AnnotationDesc cached for:de.SayHelloWorld
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.WebServiceFaultException
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:java.lang.String
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.SayHelloWorldResponse
>       @XMLRootElement exists = false
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorldResponse
>       propertyName   =return
>         xmlName      =return
>         propertyType =java.lang.String
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorld
>       propertyName   =arg0
>         xmlName      =arg0
>         propertyType =java.lang.String
>     RequestWrappers
>     Operation:sayHelloWorld RequestWrapper:de.SayHelloWorld    ResponseWrappers
>     Operation:sayHelloWorld ResponseWrapper:de.SayHelloWorldResponse    FaultBeanDesc
>     FaultException:de.WebServiceFaultException_Exception
>       FaultBean Class Name :de.WebServiceFaultException
>       FaultBean Namespace  :http://de/
>       FaultBean Local Name :WebServiceFault
> }
> The out- and in- messages are correct. If no 
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
> ....
> in log file is available, the program runs correct. So the failure is only on runtime description fragment.
> Actually code in MethodMarshallerUtils  musts fail, because:
>  
>         FaultDescription fd = operationDesc.getFaultDescriptions()[i];
> // gives an instance of FaultDescriptionImpl from ArrayList
>         FaultBeanDesc faultBeanDesc = marshalDesc.getFaultBeanDesc(fd);
> // search for instance in another HashMap and a key value for search hasn't equals method,
> // the next code trays to operate with NULL object:
>         QName tryQName = new QName(faultBeanDesc.getFaultBeanNamespace(), ... 
> Please, consider to correct this bug.
> Our solution for production environment is to redefine the interface. There are only request and response messages and no fault any more. It is not pretty.

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Assigned: (AXIS2-4822) 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class

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

Rich Scheuerle reassigned AXIS2-4822:
-------------------------------------

    Assignee: Rich Scheuerle

> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4822
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4822
>             Project: Axis2
>          Issue Type: Bug
>          Components: jaxws
>    Affects Versions: 1.5.1
>         Environment: websphere 6.1.23 unix
>            Reporter: Maryna Zilske
>            Assignee: Rich Scheuerle
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> The class org.apache.axis2.jaxws.description.impl. OperationDescriptionImpl.class has an attribute 'faultDescriptions'. This attribute is an ArrayList of org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl- objects.
> The class 
> org.apache.axis2.jaxws.runtime.description.marshal.impl.MarshalServiceRuntimeDescriptionImpl  has an attribute 'faultBeanDescMap'. This attribute is a HashMap  contended:
> key value a org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl
> value object an instance of org.apache.axis2.jaxws.runtime.description.marshal.impl.FaultBeanDescImpl.class
> We have a productive runtime NullPointerEception in  org.apache.axis2.jaxws.marshaller.impl.alt MethodMarshallerUtils in the method demarshalFaultResponse on line 
> QName tryName = new (faultBeansDesc.getFaultBeanNameSpase ...
> because faultBeansDesc is null: 
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:180)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:79)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:134)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:372)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:400)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:373)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:294)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:147)
> 	at $Proxy30.ermittelnHilfsmittelVertraege(Unknown Source)
> 	at sun.reflect.GeneratedMethodAccessor938.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:416)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:392)
> 	... 40 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:887)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:366)
> 	... 50 more
> I switched the log level on axis2.jaxws and see:
> [14.09.10 08:18:51:002 CEST] 0000001e DescriptionFa 1 org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl createServiceDescription Cache Map = {org.apache.axis2.jaxws.description.DescriptionKey@b1873327=org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl@14881488
> ServiceQName: {http://de/}HelloImplService
> isWSDLSpecified: true; WSDL Location: file:./WEB-INF/wsdl/HelloImplService.wsdl
> WSDL Definition available: true; Generated WSDL Definition available: false
> Number of ports: 1
> Port QNames: {http://de/}HelloImplPort; 
> Number of EndpointDescrptions: 1
> org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl@203c203c
> Name: HelloImpl; Endpoint Address: http://127.0.0.1:9080/FaultTest/HelloImplService
> ServiceQName: {http://de/}HelloImplService; PortQName: {http://de/}HelloImplPort; TargetNamespace: http://de/
> Service Mode: null; Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http; Client Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http
> Is provider-based: false; Is proxy-based: true; Is WSDL fully specified: true
> AxisService: org.apache.axis2.description.AxisService@5480548
> EndpointInterfaceDescription: org.apache.axis2.jaxws.description.impl.EndpointInterfaceDescriptionImpl@26a026a
> Name: HelloImpl; PortType: {http://de/}HelloImpl
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Number of operations: 1
> Operation: org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl@2d802d8
> Name: sayHelloWorld; Operation Name: sayHelloWorld; Action: 
> Operation excluded: false; Is oneway: false; Is returning result: true; Is result header: false; Is JAXWS Client Async method: false
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Result name: return; Result part name: return; Result type: class java.lang.String; Result actual type: class java.lang.String
> Request Wrapper class: de.SayHelloWorld; Response Wrapper class: de.SayHelloWorldResponse
> Java declaring class name: de.HelloImpl
> Java method name: sayHelloWorld
> Java paramaters: [Ljava.lang.String;@44e844e8
> Service Implementation method: null
> Axis Operation: org.apache.axis2.description.OutInAxisOperation@3ece3ece
> Number of Parameter Descriptions: 1
> Parameter Description: org.apache.axis2.jaxws.description.impl.ParameterDescriptionImpl@13b813b8
> Name: arg0
> Is header: false; Is holder: false
> Mode: IN
> Type: class java.lang.String; Actual type: class java.lang.String
> Number of Fault Descriptions: 1
> Fault Description: org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl@5f345f34
> Exception class: de.WebServiceFaultException_Exception
> Name: WebServiceFault
> Namespace: WebServiceFault
> FaultBean: de.WebServiceFaultException
> FaultInfo Type Name  : de.WebServiceFaultException
> No Attachment Descriptions
> RuntimeDescriptions:0
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
>     Packages = [de]
>     AnnotationDesc cached for:de.SayHelloWorld
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.WebServiceFaultException
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:java.lang.String
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.SayHelloWorldResponse
>       @XMLRootElement exists = false
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorldResponse
>       propertyName   =return
>         xmlName      =return
>         propertyType =java.lang.String
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorld
>       propertyName   =arg0
>         xmlName      =arg0
>         propertyType =java.lang.String
>     RequestWrappers
>     Operation:sayHelloWorld RequestWrapper:de.SayHelloWorld    ResponseWrappers
>     Operation:sayHelloWorld ResponseWrapper:de.SayHelloWorldResponse    FaultBeanDesc
>     FaultException:de.WebServiceFaultException_Exception
>       FaultBean Class Name :de.WebServiceFaultException
>       FaultBean Namespace  :http://de/
>       FaultBean Local Name :WebServiceFault
> }
> The out- and in- messages are correct. If no 
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
> ....
> in log file is available, the program runs correct. So the failure is only on runtime description fragment.
> Actually code in MethodMarshallerUtils  musts fail, because:
>  
>         FaultDescription fd = operationDesc.getFaultDescriptions()[i];
> // gives an instance of FaultDescriptionImpl from ArrayList
>         FaultBeanDesc faultBeanDesc = marshalDesc.getFaultBeanDesc(fd);
> // search for instance in another HashMap and a key value for search hasn't equals method,
> // the next code trays to operate with NULL object:
>         QName tryQName = new QName(faultBeanDesc.getFaultBeanNamespace(), ... 
> Please, consider to correct this bug.
> Our solution for production environment is to redefine the interface. There are only request and response messages and no fault any more. It is not pretty.

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Commented: (AXIS2-4822) 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class

Posted by "Rich Scheuerle (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12914399#action_12914399 ] 

Rich Scheuerle commented on AXIS2-4822:
---------------------------------------

On second thought, there may be a problem with the FaultBeanDescriptor equals method.

I will be working with the Maryna via the IBM support channel to address this issue.

thanks,
Rich Scheuerle

> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4822
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4822
>             Project: Axis2
>          Issue Type: Bug
>          Components: jaxws
>    Affects Versions: 1.5.1
>         Environment: websphere 6.1.23 unix
>            Reporter: Maryna Zilske
>            Assignee: Rich Scheuerle
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> The class org.apache.axis2.jaxws.description.impl. OperationDescriptionImpl.class has an attribute 'faultDescriptions'. This attribute is an ArrayList of org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl- objects.
> The class 
> org.apache.axis2.jaxws.runtime.description.marshal.impl.MarshalServiceRuntimeDescriptionImpl  has an attribute 'faultBeanDescMap'. This attribute is a HashMap  contended:
> key value a org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl
> value object an instance of org.apache.axis2.jaxws.runtime.description.marshal.impl.FaultBeanDescImpl.class
> We have a productive runtime NullPointerEception in  org.apache.axis2.jaxws.marshaller.impl.alt MethodMarshallerUtils in the method demarshalFaultResponse on line 
> QName tryName = new (faultBeansDesc.getFaultBeanNameSpase ...
> because faultBeansDesc is null: 
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:180)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:79)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:134)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:372)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:400)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:373)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:294)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:147)
> 	at $Proxy30.ermittelnHilfsmittelVertraege(Unknown Source)
> 	at sun.reflect.GeneratedMethodAccessor938.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:416)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:392)
> 	... 40 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:887)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:366)
> 	... 50 more
> I switched the log level on axis2.jaxws and see:
> [14.09.10 08:18:51:002 CEST] 0000001e DescriptionFa 1 org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl createServiceDescription Cache Map = {org.apache.axis2.jaxws.description.DescriptionKey@b1873327=org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl@14881488
> ServiceQName: {http://de/}HelloImplService
> isWSDLSpecified: true; WSDL Location: file:./WEB-INF/wsdl/HelloImplService.wsdl
> WSDL Definition available: true; Generated WSDL Definition available: false
> Number of ports: 1
> Port QNames: {http://de/}HelloImplPort; 
> Number of EndpointDescrptions: 1
> org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl@203c203c
> Name: HelloImpl; Endpoint Address: http://127.0.0.1:9080/FaultTest/HelloImplService
> ServiceQName: {http://de/}HelloImplService; PortQName: {http://de/}HelloImplPort; TargetNamespace: http://de/
> Service Mode: null; Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http; Client Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http
> Is provider-based: false; Is proxy-based: true; Is WSDL fully specified: true
> AxisService: org.apache.axis2.description.AxisService@5480548
> EndpointInterfaceDescription: org.apache.axis2.jaxws.description.impl.EndpointInterfaceDescriptionImpl@26a026a
> Name: HelloImpl; PortType: {http://de/}HelloImpl
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Number of operations: 1
> Operation: org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl@2d802d8
> Name: sayHelloWorld; Operation Name: sayHelloWorld; Action: 
> Operation excluded: false; Is oneway: false; Is returning result: true; Is result header: false; Is JAXWS Client Async method: false
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Result name: return; Result part name: return; Result type: class java.lang.String; Result actual type: class java.lang.String
> Request Wrapper class: de.SayHelloWorld; Response Wrapper class: de.SayHelloWorldResponse
> Java declaring class name: de.HelloImpl
> Java method name: sayHelloWorld
> Java paramaters: [Ljava.lang.String;@44e844e8
> Service Implementation method: null
> Axis Operation: org.apache.axis2.description.OutInAxisOperation@3ece3ece
> Number of Parameter Descriptions: 1
> Parameter Description: org.apache.axis2.jaxws.description.impl.ParameterDescriptionImpl@13b813b8
> Name: arg0
> Is header: false; Is holder: false
> Mode: IN
> Type: class java.lang.String; Actual type: class java.lang.String
> Number of Fault Descriptions: 1
> Fault Description: org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl@5f345f34
> Exception class: de.WebServiceFaultException_Exception
> Name: WebServiceFault
> Namespace: WebServiceFault
> FaultBean: de.WebServiceFaultException
> FaultInfo Type Name  : de.WebServiceFaultException
> No Attachment Descriptions
> RuntimeDescriptions:0
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
>     Packages = [de]
>     AnnotationDesc cached for:de.SayHelloWorld
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.WebServiceFaultException
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:java.lang.String
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.SayHelloWorldResponse
>       @XMLRootElement exists = false
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorldResponse
>       propertyName   =return
>         xmlName      =return
>         propertyType =java.lang.String
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorld
>       propertyName   =arg0
>         xmlName      =arg0
>         propertyType =java.lang.String
>     RequestWrappers
>     Operation:sayHelloWorld RequestWrapper:de.SayHelloWorld    ResponseWrappers
>     Operation:sayHelloWorld ResponseWrapper:de.SayHelloWorldResponse    FaultBeanDesc
>     FaultException:de.WebServiceFaultException_Exception
>       FaultBean Class Name :de.WebServiceFaultException
>       FaultBean Namespace  :http://de/
>       FaultBean Local Name :WebServiceFault
> }
> The out- and in- messages are correct. If no 
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
> ....
> in log file is available, the program runs correct. So the failure is only on runtime description fragment.
> Actually code in MethodMarshallerUtils  musts fail, because:
>  
>         FaultDescription fd = operationDesc.getFaultDescriptions()[i];
> // gives an instance of FaultDescriptionImpl from ArrayList
>         FaultBeanDesc faultBeanDesc = marshalDesc.getFaultBeanDesc(fd);
> // search for instance in another HashMap and a key value for search hasn't equals method,
> // the next code trays to operate with NULL object:
>         QName tryQName = new QName(faultBeanDesc.getFaultBeanNamespace(), ... 
> Please, consider to correct this bug.
> Our solution for production environment is to redefine the interface. There are only request and response messages and no fault any more. It is not pretty.

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Commented: (AXIS2-4822) 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class

Posted by "Rich Scheuerle (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12914396#action_12914396 ] 

Rich Scheuerle commented on AXIS2-4822:
---------------------------------------

The problem is  unrelated to a missing 'equals' or 'hashcode' method.

This problem is fixed in the current version of Axis2 (JAX-WS), which guards the tryQName statement.

I will work with Maryna via the IBM support channel to provide a solution to her team for the older version of Axis2 used by the IBM WebSphere product.

thanks,
Rich Scheuerle


> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4822
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4822
>             Project: Axis2
>          Issue Type: Bug
>          Components: jaxws
>    Affects Versions: 1.5.1
>         Environment: websphere 6.1.23 unix
>            Reporter: Maryna Zilske
>            Assignee: Rich Scheuerle
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> The class org.apache.axis2.jaxws.description.impl. OperationDescriptionImpl.class has an attribute 'faultDescriptions'. This attribute is an ArrayList of org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl- objects.
> The class 
> org.apache.axis2.jaxws.runtime.description.marshal.impl.MarshalServiceRuntimeDescriptionImpl  has an attribute 'faultBeanDescMap'. This attribute is a HashMap  contended:
> key value a org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl
> value object an instance of org.apache.axis2.jaxws.runtime.description.marshal.impl.FaultBeanDescImpl.class
> We have a productive runtime NullPointerEception in  org.apache.axis2.jaxws.marshaller.impl.alt MethodMarshallerUtils in the method demarshalFaultResponse on line 
> QName tryName = new (faultBeansDesc.getFaultBeanNameSpase ...
> because faultBeansDesc is null: 
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:180)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:79)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:134)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:372)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:400)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:373)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:294)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:147)
> 	at $Proxy30.ermittelnHilfsmittelVertraege(Unknown Source)
> 	at sun.reflect.GeneratedMethodAccessor938.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:416)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:392)
> 	... 40 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:887)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:366)
> 	... 50 more
> I switched the log level on axis2.jaxws and see:
> [14.09.10 08:18:51:002 CEST] 0000001e DescriptionFa 1 org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl createServiceDescription Cache Map = {org.apache.axis2.jaxws.description.DescriptionKey@b1873327=org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl@14881488
> ServiceQName: {http://de/}HelloImplService
> isWSDLSpecified: true; WSDL Location: file:./WEB-INF/wsdl/HelloImplService.wsdl
> WSDL Definition available: true; Generated WSDL Definition available: false
> Number of ports: 1
> Port QNames: {http://de/}HelloImplPort; 
> Number of EndpointDescrptions: 1
> org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl@203c203c
> Name: HelloImpl; Endpoint Address: http://127.0.0.1:9080/FaultTest/HelloImplService
> ServiceQName: {http://de/}HelloImplService; PortQName: {http://de/}HelloImplPort; TargetNamespace: http://de/
> Service Mode: null; Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http; Client Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http
> Is provider-based: false; Is proxy-based: true; Is WSDL fully specified: true
> AxisService: org.apache.axis2.description.AxisService@5480548
> EndpointInterfaceDescription: org.apache.axis2.jaxws.description.impl.EndpointInterfaceDescriptionImpl@26a026a
> Name: HelloImpl; PortType: {http://de/}HelloImpl
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Number of operations: 1
> Operation: org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl@2d802d8
> Name: sayHelloWorld; Operation Name: sayHelloWorld; Action: 
> Operation excluded: false; Is oneway: false; Is returning result: true; Is result header: false; Is JAXWS Client Async method: false
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Result name: return; Result part name: return; Result type: class java.lang.String; Result actual type: class java.lang.String
> Request Wrapper class: de.SayHelloWorld; Response Wrapper class: de.SayHelloWorldResponse
> Java declaring class name: de.HelloImpl
> Java method name: sayHelloWorld
> Java paramaters: [Ljava.lang.String;@44e844e8
> Service Implementation method: null
> Axis Operation: org.apache.axis2.description.OutInAxisOperation@3ece3ece
> Number of Parameter Descriptions: 1
> Parameter Description: org.apache.axis2.jaxws.description.impl.ParameterDescriptionImpl@13b813b8
> Name: arg0
> Is header: false; Is holder: false
> Mode: IN
> Type: class java.lang.String; Actual type: class java.lang.String
> Number of Fault Descriptions: 1
> Fault Description: org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl@5f345f34
> Exception class: de.WebServiceFaultException_Exception
> Name: WebServiceFault
> Namespace: WebServiceFault
> FaultBean: de.WebServiceFaultException
> FaultInfo Type Name  : de.WebServiceFaultException
> No Attachment Descriptions
> RuntimeDescriptions:0
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
>     Packages = [de]
>     AnnotationDesc cached for:de.SayHelloWorld
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.WebServiceFaultException
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:java.lang.String
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.SayHelloWorldResponse
>       @XMLRootElement exists = false
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorldResponse
>       propertyName   =return
>         xmlName      =return
>         propertyType =java.lang.String
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorld
>       propertyName   =arg0
>         xmlName      =arg0
>         propertyType =java.lang.String
>     RequestWrappers
>     Operation:sayHelloWorld RequestWrapper:de.SayHelloWorld    ResponseWrappers
>     Operation:sayHelloWorld ResponseWrapper:de.SayHelloWorldResponse    FaultBeanDesc
>     FaultException:de.WebServiceFaultException_Exception
>       FaultBean Class Name :de.WebServiceFaultException
>       FaultBean Namespace  :http://de/
>       FaultBean Local Name :WebServiceFault
> }
> The out- and in- messages are correct. If no 
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
> ....
> in log file is available, the program runs correct. So the failure is only on runtime description fragment.
> Actually code in MethodMarshallerUtils  musts fail, because:
>  
>         FaultDescription fd = operationDesc.getFaultDescriptions()[i];
> // gives an instance of FaultDescriptionImpl from ArrayList
>         FaultBeanDesc faultBeanDesc = marshalDesc.getFaultBeanDesc(fd);
> // search for instance in another HashMap and a key value for search hasn't equals method,
> // the next code trays to operate with NULL object:
>         QName tryQName = new QName(faultBeanDesc.getFaultBeanNamespace(), ... 
> Please, consider to correct this bug.
> Our solution for production environment is to redefine the interface. There are only request and response messages and no fault any more. It is not pretty.

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Commented: (AXIS2-4822) 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class

Posted by "Rich Scheuerle (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12914399#action_12914399 ] 

Rich Scheuerle commented on AXIS2-4822:
---------------------------------------

On second thought, there may be a problem with the FaultBeanDescriptor equals method.

I will be working with the Maryna via the IBM support channel to address this issue.

thanks,
Rich Scheuerle

> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4822
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4822
>             Project: Axis2
>          Issue Type: Bug
>          Components: jaxws
>    Affects Versions: 1.5.1
>         Environment: websphere 6.1.23 unix
>            Reporter: Maryna Zilske
>            Assignee: Rich Scheuerle
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> The class org.apache.axis2.jaxws.description.impl. OperationDescriptionImpl.class has an attribute 'faultDescriptions'. This attribute is an ArrayList of org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl- objects.
> The class 
> org.apache.axis2.jaxws.runtime.description.marshal.impl.MarshalServiceRuntimeDescriptionImpl  has an attribute 'faultBeanDescMap'. This attribute is a HashMap  contended:
> key value a org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl
> value object an instance of org.apache.axis2.jaxws.runtime.description.marshal.impl.FaultBeanDescImpl.class
> We have a productive runtime NullPointerEception in  org.apache.axis2.jaxws.marshaller.impl.alt MethodMarshallerUtils in the method demarshalFaultResponse on line 
> QName tryName = new (faultBeansDesc.getFaultBeanNameSpase ...
> because faultBeansDesc is null: 
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:180)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:79)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:134)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:372)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:400)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:373)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:294)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:147)
> 	at $Proxy30.ermittelnHilfsmittelVertraege(Unknown Source)
> 	at sun.reflect.GeneratedMethodAccessor938.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:416)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:392)
> 	... 40 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:887)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:366)
> 	... 50 more
> I switched the log level on axis2.jaxws and see:
> [14.09.10 08:18:51:002 CEST] 0000001e DescriptionFa 1 org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl createServiceDescription Cache Map = {org.apache.axis2.jaxws.description.DescriptionKey@b1873327=org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl@14881488
> ServiceQName: {http://de/}HelloImplService
> isWSDLSpecified: true; WSDL Location: file:./WEB-INF/wsdl/HelloImplService.wsdl
> WSDL Definition available: true; Generated WSDL Definition available: false
> Number of ports: 1
> Port QNames: {http://de/}HelloImplPort; 
> Number of EndpointDescrptions: 1
> org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl@203c203c
> Name: HelloImpl; Endpoint Address: http://127.0.0.1:9080/FaultTest/HelloImplService
> ServiceQName: {http://de/}HelloImplService; PortQName: {http://de/}HelloImplPort; TargetNamespace: http://de/
> Service Mode: null; Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http; Client Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http
> Is provider-based: false; Is proxy-based: true; Is WSDL fully specified: true
> AxisService: org.apache.axis2.description.AxisService@5480548
> EndpointInterfaceDescription: org.apache.axis2.jaxws.description.impl.EndpointInterfaceDescriptionImpl@26a026a
> Name: HelloImpl; PortType: {http://de/}HelloImpl
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Number of operations: 1
> Operation: org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl@2d802d8
> Name: sayHelloWorld; Operation Name: sayHelloWorld; Action: 
> Operation excluded: false; Is oneway: false; Is returning result: true; Is result header: false; Is JAXWS Client Async method: false
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Result name: return; Result part name: return; Result type: class java.lang.String; Result actual type: class java.lang.String
> Request Wrapper class: de.SayHelloWorld; Response Wrapper class: de.SayHelloWorldResponse
> Java declaring class name: de.HelloImpl
> Java method name: sayHelloWorld
> Java paramaters: [Ljava.lang.String;@44e844e8
> Service Implementation method: null
> Axis Operation: org.apache.axis2.description.OutInAxisOperation@3ece3ece
> Number of Parameter Descriptions: 1
> Parameter Description: org.apache.axis2.jaxws.description.impl.ParameterDescriptionImpl@13b813b8
> Name: arg0
> Is header: false; Is holder: false
> Mode: IN
> Type: class java.lang.String; Actual type: class java.lang.String
> Number of Fault Descriptions: 1
> Fault Description: org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl@5f345f34
> Exception class: de.WebServiceFaultException_Exception
> Name: WebServiceFault
> Namespace: WebServiceFault
> FaultBean: de.WebServiceFaultException
> FaultInfo Type Name  : de.WebServiceFaultException
> No Attachment Descriptions
> RuntimeDescriptions:0
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
>     Packages = [de]
>     AnnotationDesc cached for:de.SayHelloWorld
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.WebServiceFaultException
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:java.lang.String
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.SayHelloWorldResponse
>       @XMLRootElement exists = false
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorldResponse
>       propertyName   =return
>         xmlName      =return
>         propertyType =java.lang.String
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorld
>       propertyName   =arg0
>         xmlName      =arg0
>         propertyType =java.lang.String
>     RequestWrappers
>     Operation:sayHelloWorld RequestWrapper:de.SayHelloWorld    ResponseWrappers
>     Operation:sayHelloWorld ResponseWrapper:de.SayHelloWorldResponse    FaultBeanDesc
>     FaultException:de.WebServiceFaultException_Exception
>       FaultBean Class Name :de.WebServiceFaultException
>       FaultBean Namespace  :http://de/
>       FaultBean Local Name :WebServiceFault
> }
> The out- and in- messages are correct. If no 
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
> ....
> in log file is available, the program runs correct. So the failure is only on runtime description fragment.
> Actually code in MethodMarshallerUtils  musts fail, because:
>  
>         FaultDescription fd = operationDesc.getFaultDescriptions()[i];
> // gives an instance of FaultDescriptionImpl from ArrayList
>         FaultBeanDesc faultBeanDesc = marshalDesc.getFaultBeanDesc(fd);
> // search for instance in another HashMap and a key value for search hasn't equals method,
> // the next code trays to operate with NULL object:
>         QName tryQName = new QName(faultBeanDesc.getFaultBeanNamespace(), ... 
> Please, consider to correct this bug.
> Our solution for production environment is to redefine the interface. There are only request and response messages and no fault any more. It is not pretty.

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Assigned: (AXIS2-4822) 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class

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

Rich Scheuerle reassigned AXIS2-4822:
-------------------------------------

    Assignee: Rich Scheuerle

> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4822
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4822
>             Project: Axis2
>          Issue Type: Bug
>          Components: jaxws
>    Affects Versions: 1.5.1
>         Environment: websphere 6.1.23 unix
>            Reporter: Maryna Zilske
>            Assignee: Rich Scheuerle
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> The class org.apache.axis2.jaxws.description.impl. OperationDescriptionImpl.class has an attribute 'faultDescriptions'. This attribute is an ArrayList of org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl- objects.
> The class 
> org.apache.axis2.jaxws.runtime.description.marshal.impl.MarshalServiceRuntimeDescriptionImpl  has an attribute 'faultBeanDescMap'. This attribute is a HashMap  contended:
> key value a org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl
> value object an instance of org.apache.axis2.jaxws.runtime.description.marshal.impl.FaultBeanDescImpl.class
> We have a productive runtime NullPointerEception in  org.apache.axis2.jaxws.marshaller.impl.alt MethodMarshallerUtils in the method demarshalFaultResponse on line 
> QName tryName = new (faultBeansDesc.getFaultBeanNameSpase ...
> because faultBeansDesc is null: 
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:180)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:79)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:134)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:372)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:400)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:373)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:294)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:147)
> 	at $Proxy30.ermittelnHilfsmittelVertraege(Unknown Source)
> 	at sun.reflect.GeneratedMethodAccessor938.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:416)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:392)
> 	... 40 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:887)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:366)
> 	... 50 more
> I switched the log level on axis2.jaxws and see:
> [14.09.10 08:18:51:002 CEST] 0000001e DescriptionFa 1 org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl createServiceDescription Cache Map = {org.apache.axis2.jaxws.description.DescriptionKey@b1873327=org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl@14881488
> ServiceQName: {http://de/}HelloImplService
> isWSDLSpecified: true; WSDL Location: file:./WEB-INF/wsdl/HelloImplService.wsdl
> WSDL Definition available: true; Generated WSDL Definition available: false
> Number of ports: 1
> Port QNames: {http://de/}HelloImplPort; 
> Number of EndpointDescrptions: 1
> org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl@203c203c
> Name: HelloImpl; Endpoint Address: http://127.0.0.1:9080/FaultTest/HelloImplService
> ServiceQName: {http://de/}HelloImplService; PortQName: {http://de/}HelloImplPort; TargetNamespace: http://de/
> Service Mode: null; Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http; Client Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http
> Is provider-based: false; Is proxy-based: true; Is WSDL fully specified: true
> AxisService: org.apache.axis2.description.AxisService@5480548
> EndpointInterfaceDescription: org.apache.axis2.jaxws.description.impl.EndpointInterfaceDescriptionImpl@26a026a
> Name: HelloImpl; PortType: {http://de/}HelloImpl
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Number of operations: 1
> Operation: org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl@2d802d8
> Name: sayHelloWorld; Operation Name: sayHelloWorld; Action: 
> Operation excluded: false; Is oneway: false; Is returning result: true; Is result header: false; Is JAXWS Client Async method: false
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Result name: return; Result part name: return; Result type: class java.lang.String; Result actual type: class java.lang.String
> Request Wrapper class: de.SayHelloWorld; Response Wrapper class: de.SayHelloWorldResponse
> Java declaring class name: de.HelloImpl
> Java method name: sayHelloWorld
> Java paramaters: [Ljava.lang.String;@44e844e8
> Service Implementation method: null
> Axis Operation: org.apache.axis2.description.OutInAxisOperation@3ece3ece
> Number of Parameter Descriptions: 1
> Parameter Description: org.apache.axis2.jaxws.description.impl.ParameterDescriptionImpl@13b813b8
> Name: arg0
> Is header: false; Is holder: false
> Mode: IN
> Type: class java.lang.String; Actual type: class java.lang.String
> Number of Fault Descriptions: 1
> Fault Description: org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl@5f345f34
> Exception class: de.WebServiceFaultException_Exception
> Name: WebServiceFault
> Namespace: WebServiceFault
> FaultBean: de.WebServiceFaultException
> FaultInfo Type Name  : de.WebServiceFaultException
> No Attachment Descriptions
> RuntimeDescriptions:0
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
>     Packages = [de]
>     AnnotationDesc cached for:de.SayHelloWorld
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.WebServiceFaultException
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:java.lang.String
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.SayHelloWorldResponse
>       @XMLRootElement exists = false
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorldResponse
>       propertyName   =return
>         xmlName      =return
>         propertyType =java.lang.String
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorld
>       propertyName   =arg0
>         xmlName      =arg0
>         propertyType =java.lang.String
>     RequestWrappers
>     Operation:sayHelloWorld RequestWrapper:de.SayHelloWorld    ResponseWrappers
>     Operation:sayHelloWorld ResponseWrapper:de.SayHelloWorldResponse    FaultBeanDesc
>     FaultException:de.WebServiceFaultException_Exception
>       FaultBean Class Name :de.WebServiceFaultException
>       FaultBean Namespace  :http://de/
>       FaultBean Local Name :WebServiceFault
> }
> The out- and in- messages are correct. If no 
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
> ....
> in log file is available, the program runs correct. So the failure is only on runtime description fragment.
> Actually code in MethodMarshallerUtils  musts fail, because:
>  
>         FaultDescription fd = operationDesc.getFaultDescriptions()[i];
> // gives an instance of FaultDescriptionImpl from ArrayList
>         FaultBeanDesc faultBeanDesc = marshalDesc.getFaultBeanDesc(fd);
> // search for instance in another HashMap and a key value for search hasn't equals method,
> // the next code trays to operate with NULL object:
>         QName tryQName = new QName(faultBeanDesc.getFaultBeanNamespace(), ... 
> Please, consider to correct this bug.
> Our solution for production environment is to redefine the interface. There are only request and response messages and no fault any more. It is not pretty.

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Resolved: (AXIS2-4822) 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class

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

Rich Scheuerle resolved AXIS2-4822.
-----------------------------------

    Resolution: Fixed

The actual root cause of this problem is the MarshalServiceRuntimeDescription object was not being updated when a new OperationDescription is added to the ServiceDescription.  This is now corrected.

> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4822
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4822
>             Project: Axis2
>          Issue Type: Bug
>          Components: jaxws
>    Affects Versions: 1.5.1
>         Environment: websphere 6.1.23 unix
>            Reporter: Maryna Zilske
>            Assignee: Rich Scheuerle
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> The class org.apache.axis2.jaxws.description.impl. OperationDescriptionImpl.class has an attribute 'faultDescriptions'. This attribute is an ArrayList of org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl- objects.
> The class 
> org.apache.axis2.jaxws.runtime.description.marshal.impl.MarshalServiceRuntimeDescriptionImpl  has an attribute 'faultBeanDescMap'. This attribute is a HashMap  contended:
> key value a org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl
> value object an instance of org.apache.axis2.jaxws.runtime.description.marshal.impl.FaultBeanDescImpl.class
> We have a productive runtime NullPointerEception in  org.apache.axis2.jaxws.marshaller.impl.alt MethodMarshallerUtils in the method demarshalFaultResponse on line 
> QName tryName = new (faultBeansDesc.getFaultBeanNameSpase ...
> because faultBeansDesc is null: 
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:180)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:79)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:134)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:372)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:400)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:373)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:294)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:147)
> 	at $Proxy30.ermittelnHilfsmittelVertraege(Unknown Source)
> 	at sun.reflect.GeneratedMethodAccessor938.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:416)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:392)
> 	... 40 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:887)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:366)
> 	... 50 more
> I switched the log level on axis2.jaxws and see:
> [14.09.10 08:18:51:002 CEST] 0000001e DescriptionFa 1 org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl createServiceDescription Cache Map = {org.apache.axis2.jaxws.description.DescriptionKey@b1873327=org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl@14881488
> ServiceQName: {http://de/}HelloImplService
> isWSDLSpecified: true; WSDL Location: file:./WEB-INF/wsdl/HelloImplService.wsdl
> WSDL Definition available: true; Generated WSDL Definition available: false
> Number of ports: 1
> Port QNames: {http://de/}HelloImplPort; 
> Number of EndpointDescrptions: 1
> org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl@203c203c
> Name: HelloImpl; Endpoint Address: http://127.0.0.1:9080/FaultTest/HelloImplService
> ServiceQName: {http://de/}HelloImplService; PortQName: {http://de/}HelloImplPort; TargetNamespace: http://de/
> Service Mode: null; Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http; Client Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http
> Is provider-based: false; Is proxy-based: true; Is WSDL fully specified: true
> AxisService: org.apache.axis2.description.AxisService@5480548
> EndpointInterfaceDescription: org.apache.axis2.jaxws.description.impl.EndpointInterfaceDescriptionImpl@26a026a
> Name: HelloImpl; PortType: {http://de/}HelloImpl
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Number of operations: 1
> Operation: org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl@2d802d8
> Name: sayHelloWorld; Operation Name: sayHelloWorld; Action: 
> Operation excluded: false; Is oneway: false; Is returning result: true; Is result header: false; Is JAXWS Client Async method: false
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Result name: return; Result part name: return; Result type: class java.lang.String; Result actual type: class java.lang.String
> Request Wrapper class: de.SayHelloWorld; Response Wrapper class: de.SayHelloWorldResponse
> Java declaring class name: de.HelloImpl
> Java method name: sayHelloWorld
> Java paramaters: [Ljava.lang.String;@44e844e8
> Service Implementation method: null
> Axis Operation: org.apache.axis2.description.OutInAxisOperation@3ece3ece
> Number of Parameter Descriptions: 1
> Parameter Description: org.apache.axis2.jaxws.description.impl.ParameterDescriptionImpl@13b813b8
> Name: arg0
> Is header: false; Is holder: false
> Mode: IN
> Type: class java.lang.String; Actual type: class java.lang.String
> Number of Fault Descriptions: 1
> Fault Description: org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl@5f345f34
> Exception class: de.WebServiceFaultException_Exception
> Name: WebServiceFault
> Namespace: WebServiceFault
> FaultBean: de.WebServiceFaultException
> FaultInfo Type Name  : de.WebServiceFaultException
> No Attachment Descriptions
> RuntimeDescriptions:0
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
>     Packages = [de]
>     AnnotationDesc cached for:de.SayHelloWorld
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.WebServiceFaultException
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:java.lang.String
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.SayHelloWorldResponse
>       @XMLRootElement exists = false
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorldResponse
>       propertyName   =return
>         xmlName      =return
>         propertyType =java.lang.String
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorld
>       propertyName   =arg0
>         xmlName      =arg0
>         propertyType =java.lang.String
>     RequestWrappers
>     Operation:sayHelloWorld RequestWrapper:de.SayHelloWorld    ResponseWrappers
>     Operation:sayHelloWorld ResponseWrapper:de.SayHelloWorldResponse    FaultBeanDesc
>     FaultException:de.WebServiceFaultException_Exception
>       FaultBean Class Name :de.WebServiceFaultException
>       FaultBean Namespace  :http://de/
>       FaultBean Local Name :WebServiceFault
> }
> The out- and in- messages are correct. If no 
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
> ....
> in log file is available, the program runs correct. So the failure is only on runtime description fragment.
> Actually code in MethodMarshallerUtils  musts fail, because:
>  
>         FaultDescription fd = operationDesc.getFaultDescriptions()[i];
> // gives an instance of FaultDescriptionImpl from ArrayList
>         FaultBeanDesc faultBeanDesc = marshalDesc.getFaultBeanDesc(fd);
> // search for instance in another HashMap and a key value for search hasn't equals method,
> // the next code trays to operate with NULL object:
>         QName tryQName = new QName(faultBeanDesc.getFaultBeanNamespace(), ... 
> Please, consider to correct this bug.
> Our solution for production environment is to redefine the interface. There are only request and response messages and no fault any more. It is not pretty.

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Commented: (AXIS2-4822) 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class

Posted by "Rich Scheuerle (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12914399#action_12914399 ] 

Rich Scheuerle commented on AXIS2-4822:
---------------------------------------

On second thought, there may be a problem with the FaultBeanDescriptor equals method.

I will be working with the Maryna via the IBM support channel to address this issue.

thanks,
Rich Scheuerle

> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4822
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4822
>             Project: Axis2
>          Issue Type: Bug
>          Components: jaxws
>    Affects Versions: 1.5.1
>         Environment: websphere 6.1.23 unix
>            Reporter: Maryna Zilske
>            Assignee: Rich Scheuerle
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> The class org.apache.axis2.jaxws.description.impl. OperationDescriptionImpl.class has an attribute 'faultDescriptions'. This attribute is an ArrayList of org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl- objects.
> The class 
> org.apache.axis2.jaxws.runtime.description.marshal.impl.MarshalServiceRuntimeDescriptionImpl  has an attribute 'faultBeanDescMap'. This attribute is a HashMap  contended:
> key value a org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl
> value object an instance of org.apache.axis2.jaxws.runtime.description.marshal.impl.FaultBeanDescImpl.class
> We have a productive runtime NullPointerEception in  org.apache.axis2.jaxws.marshaller.impl.alt MethodMarshallerUtils in the method demarshalFaultResponse on line 
> QName tryName = new (faultBeansDesc.getFaultBeanNameSpase ...
> because faultBeansDesc is null: 
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:180)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:79)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:134)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:372)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:400)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:373)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:294)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:147)
> 	at $Proxy30.ermittelnHilfsmittelVertraege(Unknown Source)
> 	at sun.reflect.GeneratedMethodAccessor938.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:416)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:392)
> 	... 40 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:887)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:366)
> 	... 50 more
> I switched the log level on axis2.jaxws and see:
> [14.09.10 08:18:51:002 CEST] 0000001e DescriptionFa 1 org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl createServiceDescription Cache Map = {org.apache.axis2.jaxws.description.DescriptionKey@b1873327=org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl@14881488
> ServiceQName: {http://de/}HelloImplService
> isWSDLSpecified: true; WSDL Location: file:./WEB-INF/wsdl/HelloImplService.wsdl
> WSDL Definition available: true; Generated WSDL Definition available: false
> Number of ports: 1
> Port QNames: {http://de/}HelloImplPort; 
> Number of EndpointDescrptions: 1
> org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl@203c203c
> Name: HelloImpl; Endpoint Address: http://127.0.0.1:9080/FaultTest/HelloImplService
> ServiceQName: {http://de/}HelloImplService; PortQName: {http://de/}HelloImplPort; TargetNamespace: http://de/
> Service Mode: null; Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http; Client Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http
> Is provider-based: false; Is proxy-based: true; Is WSDL fully specified: true
> AxisService: org.apache.axis2.description.AxisService@5480548
> EndpointInterfaceDescription: org.apache.axis2.jaxws.description.impl.EndpointInterfaceDescriptionImpl@26a026a
> Name: HelloImpl; PortType: {http://de/}HelloImpl
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Number of operations: 1
> Operation: org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl@2d802d8
> Name: sayHelloWorld; Operation Name: sayHelloWorld; Action: 
> Operation excluded: false; Is oneway: false; Is returning result: true; Is result header: false; Is JAXWS Client Async method: false
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Result name: return; Result part name: return; Result type: class java.lang.String; Result actual type: class java.lang.String
> Request Wrapper class: de.SayHelloWorld; Response Wrapper class: de.SayHelloWorldResponse
> Java declaring class name: de.HelloImpl
> Java method name: sayHelloWorld
> Java paramaters: [Ljava.lang.String;@44e844e8
> Service Implementation method: null
> Axis Operation: org.apache.axis2.description.OutInAxisOperation@3ece3ece
> Number of Parameter Descriptions: 1
> Parameter Description: org.apache.axis2.jaxws.description.impl.ParameterDescriptionImpl@13b813b8
> Name: arg0
> Is header: false; Is holder: false
> Mode: IN
> Type: class java.lang.String; Actual type: class java.lang.String
> Number of Fault Descriptions: 1
> Fault Description: org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl@5f345f34
> Exception class: de.WebServiceFaultException_Exception
> Name: WebServiceFault
> Namespace: WebServiceFault
> FaultBean: de.WebServiceFaultException
> FaultInfo Type Name  : de.WebServiceFaultException
> No Attachment Descriptions
> RuntimeDescriptions:0
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
>     Packages = [de]
>     AnnotationDesc cached for:de.SayHelloWorld
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.WebServiceFaultException
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:java.lang.String
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.SayHelloWorldResponse
>       @XMLRootElement exists = false
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorldResponse
>       propertyName   =return
>         xmlName      =return
>         propertyType =java.lang.String
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorld
>       propertyName   =arg0
>         xmlName      =arg0
>         propertyType =java.lang.String
>     RequestWrappers
>     Operation:sayHelloWorld RequestWrapper:de.SayHelloWorld    ResponseWrappers
>     Operation:sayHelloWorld ResponseWrapper:de.SayHelloWorldResponse    FaultBeanDesc
>     FaultException:de.WebServiceFaultException_Exception
>       FaultBean Class Name :de.WebServiceFaultException
>       FaultBean Namespace  :http://de/
>       FaultBean Local Name :WebServiceFault
> }
> The out- and in- messages are correct. If no 
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
> ....
> in log file is available, the program runs correct. So the failure is only on runtime description fragment.
> Actually code in MethodMarshallerUtils  musts fail, because:
>  
>         FaultDescription fd = operationDesc.getFaultDescriptions()[i];
> // gives an instance of FaultDescriptionImpl from ArrayList
>         FaultBeanDesc faultBeanDesc = marshalDesc.getFaultBeanDesc(fd);
> // search for instance in another HashMap and a key value for search hasn't equals method,
> // the next code trays to operate with NULL object:
>         QName tryQName = new QName(faultBeanDesc.getFaultBeanNamespace(), ... 
> Please, consider to correct this bug.
> Our solution for production environment is to redefine the interface. There are only request and response messages and no fault any more. It is not pretty.

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Commented: (AXIS2-4822) 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class

Posted by "Rich Scheuerle (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12914399#action_12914399 ] 

Rich Scheuerle commented on AXIS2-4822:
---------------------------------------

On second thought, there may be a problem with the FaultBeanDescriptor equals method.

I will be working with the Maryna via the IBM support channel to address this issue.

thanks,
Rich Scheuerle

> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4822
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4822
>             Project: Axis2
>          Issue Type: Bug
>          Components: jaxws
>    Affects Versions: 1.5.1
>         Environment: websphere 6.1.23 unix
>            Reporter: Maryna Zilske
>            Assignee: Rich Scheuerle
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> The class org.apache.axis2.jaxws.description.impl. OperationDescriptionImpl.class has an attribute 'faultDescriptions'. This attribute is an ArrayList of org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl- objects.
> The class 
> org.apache.axis2.jaxws.runtime.description.marshal.impl.MarshalServiceRuntimeDescriptionImpl  has an attribute 'faultBeanDescMap'. This attribute is a HashMap  contended:
> key value a org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl
> value object an instance of org.apache.axis2.jaxws.runtime.description.marshal.impl.FaultBeanDescImpl.class
> We have a productive runtime NullPointerEception in  org.apache.axis2.jaxws.marshaller.impl.alt MethodMarshallerUtils in the method demarshalFaultResponse on line 
> QName tryName = new (faultBeansDesc.getFaultBeanNameSpase ...
> because faultBeansDesc is null: 
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:180)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:79)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:134)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:372)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:400)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:373)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:294)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:147)
> 	at $Proxy30.ermittelnHilfsmittelVertraege(Unknown Source)
> 	at sun.reflect.GeneratedMethodAccessor938.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:416)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:392)
> 	... 40 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:887)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:366)
> 	... 50 more
> I switched the log level on axis2.jaxws and see:
> [14.09.10 08:18:51:002 CEST] 0000001e DescriptionFa 1 org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl createServiceDescription Cache Map = {org.apache.axis2.jaxws.description.DescriptionKey@b1873327=org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl@14881488
> ServiceQName: {http://de/}HelloImplService
> isWSDLSpecified: true; WSDL Location: file:./WEB-INF/wsdl/HelloImplService.wsdl
> WSDL Definition available: true; Generated WSDL Definition available: false
> Number of ports: 1
> Port QNames: {http://de/}HelloImplPort; 
> Number of EndpointDescrptions: 1
> org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl@203c203c
> Name: HelloImpl; Endpoint Address: http://127.0.0.1:9080/FaultTest/HelloImplService
> ServiceQName: {http://de/}HelloImplService; PortQName: {http://de/}HelloImplPort; TargetNamespace: http://de/
> Service Mode: null; Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http; Client Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http
> Is provider-based: false; Is proxy-based: true; Is WSDL fully specified: true
> AxisService: org.apache.axis2.description.AxisService@5480548
> EndpointInterfaceDescription: org.apache.axis2.jaxws.description.impl.EndpointInterfaceDescriptionImpl@26a026a
> Name: HelloImpl; PortType: {http://de/}HelloImpl
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Number of operations: 1
> Operation: org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl@2d802d8
> Name: sayHelloWorld; Operation Name: sayHelloWorld; Action: 
> Operation excluded: false; Is oneway: false; Is returning result: true; Is result header: false; Is JAXWS Client Async method: false
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Result name: return; Result part name: return; Result type: class java.lang.String; Result actual type: class java.lang.String
> Request Wrapper class: de.SayHelloWorld; Response Wrapper class: de.SayHelloWorldResponse
> Java declaring class name: de.HelloImpl
> Java method name: sayHelloWorld
> Java paramaters: [Ljava.lang.String;@44e844e8
> Service Implementation method: null
> Axis Operation: org.apache.axis2.description.OutInAxisOperation@3ece3ece
> Number of Parameter Descriptions: 1
> Parameter Description: org.apache.axis2.jaxws.description.impl.ParameterDescriptionImpl@13b813b8
> Name: arg0
> Is header: false; Is holder: false
> Mode: IN
> Type: class java.lang.String; Actual type: class java.lang.String
> Number of Fault Descriptions: 1
> Fault Description: org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl@5f345f34
> Exception class: de.WebServiceFaultException_Exception
> Name: WebServiceFault
> Namespace: WebServiceFault
> FaultBean: de.WebServiceFaultException
> FaultInfo Type Name  : de.WebServiceFaultException
> No Attachment Descriptions
> RuntimeDescriptions:0
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
>     Packages = [de]
>     AnnotationDesc cached for:de.SayHelloWorld
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.WebServiceFaultException
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:java.lang.String
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.SayHelloWorldResponse
>       @XMLRootElement exists = false
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorldResponse
>       propertyName   =return
>         xmlName      =return
>         propertyType =java.lang.String
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorld
>       propertyName   =arg0
>         xmlName      =arg0
>         propertyType =java.lang.String
>     RequestWrappers
>     Operation:sayHelloWorld RequestWrapper:de.SayHelloWorld    ResponseWrappers
>     Operation:sayHelloWorld ResponseWrapper:de.SayHelloWorldResponse    FaultBeanDesc
>     FaultException:de.WebServiceFaultException_Exception
>       FaultBean Class Name :de.WebServiceFaultException
>       FaultBean Namespace  :http://de/
>       FaultBean Local Name :WebServiceFault
> }
> The out- and in- messages are correct. If no 
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
> ....
> in log file is available, the program runs correct. So the failure is only on runtime description fragment.
> Actually code in MethodMarshallerUtils  musts fail, because:
>  
>         FaultDescription fd = operationDesc.getFaultDescriptions()[i];
> // gives an instance of FaultDescriptionImpl from ArrayList
>         FaultBeanDesc faultBeanDesc = marshalDesc.getFaultBeanDesc(fd);
> // search for instance in another HashMap and a key value for search hasn't equals method,
> // the next code trays to operate with NULL object:
>         QName tryQName = new QName(faultBeanDesc.getFaultBeanNamespace(), ... 
> Please, consider to correct this bug.
> Our solution for production environment is to redefine the interface. There are only request and response messages and no fault any more. It is not pretty.

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Assigned: (AXIS2-4822) 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class

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

Rich Scheuerle reassigned AXIS2-4822:
-------------------------------------

    Assignee: Rich Scheuerle

> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4822
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4822
>             Project: Axis2
>          Issue Type: Bug
>          Components: jaxws
>    Affects Versions: 1.5.1
>         Environment: websphere 6.1.23 unix
>            Reporter: Maryna Zilske
>            Assignee: Rich Scheuerle
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> The class org.apache.axis2.jaxws.description.impl. OperationDescriptionImpl.class has an attribute 'faultDescriptions'. This attribute is an ArrayList of org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl- objects.
> The class 
> org.apache.axis2.jaxws.runtime.description.marshal.impl.MarshalServiceRuntimeDescriptionImpl  has an attribute 'faultBeanDescMap'. This attribute is a HashMap  contended:
> key value a org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl
> value object an instance of org.apache.axis2.jaxws.runtime.description.marshal.impl.FaultBeanDescImpl.class
> We have a productive runtime NullPointerEception in  org.apache.axis2.jaxws.marshaller.impl.alt MethodMarshallerUtils in the method demarshalFaultResponse on line 
> QName tryName = new (faultBeansDesc.getFaultBeanNameSpase ...
> because faultBeansDesc is null: 
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:180)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:79)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:134)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:372)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:400)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:373)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:294)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:147)
> 	at $Proxy30.ermittelnHilfsmittelVertraege(Unknown Source)
> 	at sun.reflect.GeneratedMethodAccessor938.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:416)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:392)
> 	... 40 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:887)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:366)
> 	... 50 more
> I switched the log level on axis2.jaxws and see:
> [14.09.10 08:18:51:002 CEST] 0000001e DescriptionFa 1 org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl createServiceDescription Cache Map = {org.apache.axis2.jaxws.description.DescriptionKey@b1873327=org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl@14881488
> ServiceQName: {http://de/}HelloImplService
> isWSDLSpecified: true; WSDL Location: file:./WEB-INF/wsdl/HelloImplService.wsdl
> WSDL Definition available: true; Generated WSDL Definition available: false
> Number of ports: 1
> Port QNames: {http://de/}HelloImplPort; 
> Number of EndpointDescrptions: 1
> org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl@203c203c
> Name: HelloImpl; Endpoint Address: http://127.0.0.1:9080/FaultTest/HelloImplService
> ServiceQName: {http://de/}HelloImplService; PortQName: {http://de/}HelloImplPort; TargetNamespace: http://de/
> Service Mode: null; Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http; Client Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http
> Is provider-based: false; Is proxy-based: true; Is WSDL fully specified: true
> AxisService: org.apache.axis2.description.AxisService@5480548
> EndpointInterfaceDescription: org.apache.axis2.jaxws.description.impl.EndpointInterfaceDescriptionImpl@26a026a
> Name: HelloImpl; PortType: {http://de/}HelloImpl
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Number of operations: 1
> Operation: org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl@2d802d8
> Name: sayHelloWorld; Operation Name: sayHelloWorld; Action: 
> Operation excluded: false; Is oneway: false; Is returning result: true; Is result header: false; Is JAXWS Client Async method: false
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Result name: return; Result part name: return; Result type: class java.lang.String; Result actual type: class java.lang.String
> Request Wrapper class: de.SayHelloWorld; Response Wrapper class: de.SayHelloWorldResponse
> Java declaring class name: de.HelloImpl
> Java method name: sayHelloWorld
> Java paramaters: [Ljava.lang.String;@44e844e8
> Service Implementation method: null
> Axis Operation: org.apache.axis2.description.OutInAxisOperation@3ece3ece
> Number of Parameter Descriptions: 1
> Parameter Description: org.apache.axis2.jaxws.description.impl.ParameterDescriptionImpl@13b813b8
> Name: arg0
> Is header: false; Is holder: false
> Mode: IN
> Type: class java.lang.String; Actual type: class java.lang.String
> Number of Fault Descriptions: 1
> Fault Description: org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl@5f345f34
> Exception class: de.WebServiceFaultException_Exception
> Name: WebServiceFault
> Namespace: WebServiceFault
> FaultBean: de.WebServiceFaultException
> FaultInfo Type Name  : de.WebServiceFaultException
> No Attachment Descriptions
> RuntimeDescriptions:0
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
>     Packages = [de]
>     AnnotationDesc cached for:de.SayHelloWorld
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.WebServiceFaultException
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:java.lang.String
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.SayHelloWorldResponse
>       @XMLRootElement exists = false
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorldResponse
>       propertyName   =return
>         xmlName      =return
>         propertyType =java.lang.String
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorld
>       propertyName   =arg0
>         xmlName      =arg0
>         propertyType =java.lang.String
>     RequestWrappers
>     Operation:sayHelloWorld RequestWrapper:de.SayHelloWorld    ResponseWrappers
>     Operation:sayHelloWorld ResponseWrapper:de.SayHelloWorldResponse    FaultBeanDesc
>     FaultException:de.WebServiceFaultException_Exception
>       FaultBean Class Name :de.WebServiceFaultException
>       FaultBean Namespace  :http://de/
>       FaultBean Local Name :WebServiceFault
> }
> The out- and in- messages are correct. If no 
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
> ....
> in log file is available, the program runs correct. So the failure is only on runtime description fragment.
> Actually code in MethodMarshallerUtils  musts fail, because:
>  
>         FaultDescription fd = operationDesc.getFaultDescriptions()[i];
> // gives an instance of FaultDescriptionImpl from ArrayList
>         FaultBeanDesc faultBeanDesc = marshalDesc.getFaultBeanDesc(fd);
> // search for instance in another HashMap and a key value for search hasn't equals method,
> // the next code trays to operate with NULL object:
>         QName tryQName = new QName(faultBeanDesc.getFaultBeanNamespace(), ... 
> Please, consider to correct this bug.
> Our solution for production environment is to redefine the interface. There are only request and response messages and no fault any more. It is not pretty.

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Assigned: (AXIS2-4822) 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class

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

Rich Scheuerle reassigned AXIS2-4822:
-------------------------------------

    Assignee: Rich Scheuerle

> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4822
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4822
>             Project: Axis2
>          Issue Type: Bug
>          Components: jaxws
>    Affects Versions: 1.5.1
>         Environment: websphere 6.1.23 unix
>            Reporter: Maryna Zilske
>            Assignee: Rich Scheuerle
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> The class org.apache.axis2.jaxws.description.impl. OperationDescriptionImpl.class has an attribute 'faultDescriptions'. This attribute is an ArrayList of org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl- objects.
> The class 
> org.apache.axis2.jaxws.runtime.description.marshal.impl.MarshalServiceRuntimeDescriptionImpl  has an attribute 'faultBeanDescMap'. This attribute is a HashMap  contended:
> key value a org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl
> value object an instance of org.apache.axis2.jaxws.runtime.description.marshal.impl.FaultBeanDescImpl.class
> We have a productive runtime NullPointerEception in  org.apache.axis2.jaxws.marshaller.impl.alt MethodMarshallerUtils in the method demarshalFaultResponse on line 
> QName tryName = new (faultBeansDesc.getFaultBeanNameSpase ...
> because faultBeansDesc is null: 
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:180)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:79)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:134)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:372)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:400)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:373)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:294)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:147)
> 	at $Proxy30.ermittelnHilfsmittelVertraege(Unknown Source)
> 	at sun.reflect.GeneratedMethodAccessor938.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:416)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:392)
> 	... 40 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:887)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:366)
> 	... 50 more
> I switched the log level on axis2.jaxws and see:
> [14.09.10 08:18:51:002 CEST] 0000001e DescriptionFa 1 org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl createServiceDescription Cache Map = {org.apache.axis2.jaxws.description.DescriptionKey@b1873327=org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl@14881488
> ServiceQName: {http://de/}HelloImplService
> isWSDLSpecified: true; WSDL Location: file:./WEB-INF/wsdl/HelloImplService.wsdl
> WSDL Definition available: true; Generated WSDL Definition available: false
> Number of ports: 1
> Port QNames: {http://de/}HelloImplPort; 
> Number of EndpointDescrptions: 1
> org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl@203c203c
> Name: HelloImpl; Endpoint Address: http://127.0.0.1:9080/FaultTest/HelloImplService
> ServiceQName: {http://de/}HelloImplService; PortQName: {http://de/}HelloImplPort; TargetNamespace: http://de/
> Service Mode: null; Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http; Client Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http
> Is provider-based: false; Is proxy-based: true; Is WSDL fully specified: true
> AxisService: org.apache.axis2.description.AxisService@5480548
> EndpointInterfaceDescription: org.apache.axis2.jaxws.description.impl.EndpointInterfaceDescriptionImpl@26a026a
> Name: HelloImpl; PortType: {http://de/}HelloImpl
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Number of operations: 1
> Operation: org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl@2d802d8
> Name: sayHelloWorld; Operation Name: sayHelloWorld; Action: 
> Operation excluded: false; Is oneway: false; Is returning result: true; Is result header: false; Is JAXWS Client Async method: false
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Result name: return; Result part name: return; Result type: class java.lang.String; Result actual type: class java.lang.String
> Request Wrapper class: de.SayHelloWorld; Response Wrapper class: de.SayHelloWorldResponse
> Java declaring class name: de.HelloImpl
> Java method name: sayHelloWorld
> Java paramaters: [Ljava.lang.String;@44e844e8
> Service Implementation method: null
> Axis Operation: org.apache.axis2.description.OutInAxisOperation@3ece3ece
> Number of Parameter Descriptions: 1
> Parameter Description: org.apache.axis2.jaxws.description.impl.ParameterDescriptionImpl@13b813b8
> Name: arg0
> Is header: false; Is holder: false
> Mode: IN
> Type: class java.lang.String; Actual type: class java.lang.String
> Number of Fault Descriptions: 1
> Fault Description: org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl@5f345f34
> Exception class: de.WebServiceFaultException_Exception
> Name: WebServiceFault
> Namespace: WebServiceFault
> FaultBean: de.WebServiceFaultException
> FaultInfo Type Name  : de.WebServiceFaultException
> No Attachment Descriptions
> RuntimeDescriptions:0
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
>     Packages = [de]
>     AnnotationDesc cached for:de.SayHelloWorld
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.WebServiceFaultException
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:java.lang.String
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.SayHelloWorldResponse
>       @XMLRootElement exists = false
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorldResponse
>       propertyName   =return
>         xmlName      =return
>         propertyType =java.lang.String
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorld
>       propertyName   =arg0
>         xmlName      =arg0
>         propertyType =java.lang.String
>     RequestWrappers
>     Operation:sayHelloWorld RequestWrapper:de.SayHelloWorld    ResponseWrappers
>     Operation:sayHelloWorld ResponseWrapper:de.SayHelloWorldResponse    FaultBeanDesc
>     FaultException:de.WebServiceFaultException_Exception
>       FaultBean Class Name :de.WebServiceFaultException
>       FaultBean Namespace  :http://de/
>       FaultBean Local Name :WebServiceFault
> }
> The out- and in- messages are correct. If no 
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
> ....
> in log file is available, the program runs correct. So the failure is only on runtime description fragment.
> Actually code in MethodMarshallerUtils  musts fail, because:
>  
>         FaultDescription fd = operationDesc.getFaultDescriptions()[i];
> // gives an instance of FaultDescriptionImpl from ArrayList
>         FaultBeanDesc faultBeanDesc = marshalDesc.getFaultBeanDesc(fd);
> // search for instance in another HashMap and a key value for search hasn't equals method,
> // the next code trays to operate with NULL object:
>         QName tryQName = new QName(faultBeanDesc.getFaultBeanNamespace(), ... 
> Please, consider to correct this bug.
> Our solution for production environment is to redefine the interface. There are only request and response messages and no fault any more. It is not pretty.

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Commented: (AXIS2-4822) 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class

Posted by "Rich Scheuerle (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12914396#action_12914396 ] 

Rich Scheuerle commented on AXIS2-4822:
---------------------------------------

The problem is  unrelated to a missing 'equals' or 'hashcode' method.

This problem is fixed in the current version of Axis2 (JAX-WS), which guards the tryQName statement.

I will work with Maryna via the IBM support channel to provide a solution to her team for the older version of Axis2 used by the IBM WebSphere product.

thanks,
Rich Scheuerle


> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4822
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4822
>             Project: Axis2
>          Issue Type: Bug
>          Components: jaxws
>    Affects Versions: 1.5.1
>         Environment: websphere 6.1.23 unix
>            Reporter: Maryna Zilske
>            Assignee: Rich Scheuerle
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> The class org.apache.axis2.jaxws.description.impl. OperationDescriptionImpl.class has an attribute 'faultDescriptions'. This attribute is an ArrayList of org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl- objects.
> The class 
> org.apache.axis2.jaxws.runtime.description.marshal.impl.MarshalServiceRuntimeDescriptionImpl  has an attribute 'faultBeanDescMap'. This attribute is a HashMap  contended:
> key value a org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl
> value object an instance of org.apache.axis2.jaxws.runtime.description.marshal.impl.FaultBeanDescImpl.class
> We have a productive runtime NullPointerEception in  org.apache.axis2.jaxws.marshaller.impl.alt MethodMarshallerUtils in the method demarshalFaultResponse on line 
> QName tryName = new (faultBeansDesc.getFaultBeanNameSpase ...
> because faultBeansDesc is null: 
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:180)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:79)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:134)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:372)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:400)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:373)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:294)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:147)
> 	at $Proxy30.ermittelnHilfsmittelVertraege(Unknown Source)
> 	at sun.reflect.GeneratedMethodAccessor938.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:416)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:392)
> 	... 40 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:887)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:366)
> 	... 50 more
> I switched the log level on axis2.jaxws and see:
> [14.09.10 08:18:51:002 CEST] 0000001e DescriptionFa 1 org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl createServiceDescription Cache Map = {org.apache.axis2.jaxws.description.DescriptionKey@b1873327=org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl@14881488
> ServiceQName: {http://de/}HelloImplService
> isWSDLSpecified: true; WSDL Location: file:./WEB-INF/wsdl/HelloImplService.wsdl
> WSDL Definition available: true; Generated WSDL Definition available: false
> Number of ports: 1
> Port QNames: {http://de/}HelloImplPort; 
> Number of EndpointDescrptions: 1
> org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl@203c203c
> Name: HelloImpl; Endpoint Address: http://127.0.0.1:9080/FaultTest/HelloImplService
> ServiceQName: {http://de/}HelloImplService; PortQName: {http://de/}HelloImplPort; TargetNamespace: http://de/
> Service Mode: null; Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http; Client Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http
> Is provider-based: false; Is proxy-based: true; Is WSDL fully specified: true
> AxisService: org.apache.axis2.description.AxisService@5480548
> EndpointInterfaceDescription: org.apache.axis2.jaxws.description.impl.EndpointInterfaceDescriptionImpl@26a026a
> Name: HelloImpl; PortType: {http://de/}HelloImpl
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Number of operations: 1
> Operation: org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl@2d802d8
> Name: sayHelloWorld; Operation Name: sayHelloWorld; Action: 
> Operation excluded: false; Is oneway: false; Is returning result: true; Is result header: false; Is JAXWS Client Async method: false
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Result name: return; Result part name: return; Result type: class java.lang.String; Result actual type: class java.lang.String
> Request Wrapper class: de.SayHelloWorld; Response Wrapper class: de.SayHelloWorldResponse
> Java declaring class name: de.HelloImpl
> Java method name: sayHelloWorld
> Java paramaters: [Ljava.lang.String;@44e844e8
> Service Implementation method: null
> Axis Operation: org.apache.axis2.description.OutInAxisOperation@3ece3ece
> Number of Parameter Descriptions: 1
> Parameter Description: org.apache.axis2.jaxws.description.impl.ParameterDescriptionImpl@13b813b8
> Name: arg0
> Is header: false; Is holder: false
> Mode: IN
> Type: class java.lang.String; Actual type: class java.lang.String
> Number of Fault Descriptions: 1
> Fault Description: org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl@5f345f34
> Exception class: de.WebServiceFaultException_Exception
> Name: WebServiceFault
> Namespace: WebServiceFault
> FaultBean: de.WebServiceFaultException
> FaultInfo Type Name  : de.WebServiceFaultException
> No Attachment Descriptions
> RuntimeDescriptions:0
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
>     Packages = [de]
>     AnnotationDesc cached for:de.SayHelloWorld
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.WebServiceFaultException
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:java.lang.String
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.SayHelloWorldResponse
>       @XMLRootElement exists = false
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorldResponse
>       propertyName   =return
>         xmlName      =return
>         propertyType =java.lang.String
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorld
>       propertyName   =arg0
>         xmlName      =arg0
>         propertyType =java.lang.String
>     RequestWrappers
>     Operation:sayHelloWorld RequestWrapper:de.SayHelloWorld    ResponseWrappers
>     Operation:sayHelloWorld ResponseWrapper:de.SayHelloWorldResponse    FaultBeanDesc
>     FaultException:de.WebServiceFaultException_Exception
>       FaultBean Class Name :de.WebServiceFaultException
>       FaultBean Namespace  :http://de/
>       FaultBean Local Name :WebServiceFault
> }
> The out- and in- messages are correct. If no 
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
> ....
> in log file is available, the program runs correct. So the failure is only on runtime description fragment.
> Actually code in MethodMarshallerUtils  musts fail, because:
>  
>         FaultDescription fd = operationDesc.getFaultDescriptions()[i];
> // gives an instance of FaultDescriptionImpl from ArrayList
>         FaultBeanDesc faultBeanDesc = marshalDesc.getFaultBeanDesc(fd);
> // search for instance in another HashMap and a key value for search hasn't equals method,
> // the next code trays to operate with NULL object:
>         QName tryQName = new QName(faultBeanDesc.getFaultBeanNamespace(), ... 
> Please, consider to correct this bug.
> Our solution for production environment is to redefine the interface. There are only request and response messages and no fault any more. It is not pretty.

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Assigned: (AXIS2-4822) 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class

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

Rich Scheuerle reassigned AXIS2-4822:
-------------------------------------

    Assignee: Rich Scheuerle

> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4822
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4822
>             Project: Axis2
>          Issue Type: Bug
>          Components: jaxws
>    Affects Versions: 1.5.1
>         Environment: websphere 6.1.23 unix
>            Reporter: Maryna Zilske
>            Assignee: Rich Scheuerle
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> The class org.apache.axis2.jaxws.description.impl. OperationDescriptionImpl.class has an attribute 'faultDescriptions'. This attribute is an ArrayList of org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl- objects.
> The class 
> org.apache.axis2.jaxws.runtime.description.marshal.impl.MarshalServiceRuntimeDescriptionImpl  has an attribute 'faultBeanDescMap'. This attribute is a HashMap  contended:
> key value a org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl
> value object an instance of org.apache.axis2.jaxws.runtime.description.marshal.impl.FaultBeanDescImpl.class
> We have a productive runtime NullPointerEception in  org.apache.axis2.jaxws.marshaller.impl.alt MethodMarshallerUtils in the method demarshalFaultResponse on line 
> QName tryName = new (faultBeansDesc.getFaultBeanNameSpase ...
> because faultBeansDesc is null: 
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:180)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:79)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:134)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:372)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:400)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:373)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:294)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:147)
> 	at $Proxy30.ermittelnHilfsmittelVertraege(Unknown Source)
> 	at sun.reflect.GeneratedMethodAccessor938.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:416)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:392)
> 	... 40 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:887)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:366)
> 	... 50 more
> I switched the log level on axis2.jaxws and see:
> [14.09.10 08:18:51:002 CEST] 0000001e DescriptionFa 1 org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl createServiceDescription Cache Map = {org.apache.axis2.jaxws.description.DescriptionKey@b1873327=org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl@14881488
> ServiceQName: {http://de/}HelloImplService
> isWSDLSpecified: true; WSDL Location: file:./WEB-INF/wsdl/HelloImplService.wsdl
> WSDL Definition available: true; Generated WSDL Definition available: false
> Number of ports: 1
> Port QNames: {http://de/}HelloImplPort; 
> Number of EndpointDescrptions: 1
> org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl@203c203c
> Name: HelloImpl; Endpoint Address: http://127.0.0.1:9080/FaultTest/HelloImplService
> ServiceQName: {http://de/}HelloImplService; PortQName: {http://de/}HelloImplPort; TargetNamespace: http://de/
> Service Mode: null; Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http; Client Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http
> Is provider-based: false; Is proxy-based: true; Is WSDL fully specified: true
> AxisService: org.apache.axis2.description.AxisService@5480548
> EndpointInterfaceDescription: org.apache.axis2.jaxws.description.impl.EndpointInterfaceDescriptionImpl@26a026a
> Name: HelloImpl; PortType: {http://de/}HelloImpl
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Number of operations: 1
> Operation: org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl@2d802d8
> Name: sayHelloWorld; Operation Name: sayHelloWorld; Action: 
> Operation excluded: false; Is oneway: false; Is returning result: true; Is result header: false; Is JAXWS Client Async method: false
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Result name: return; Result part name: return; Result type: class java.lang.String; Result actual type: class java.lang.String
> Request Wrapper class: de.SayHelloWorld; Response Wrapper class: de.SayHelloWorldResponse
> Java declaring class name: de.HelloImpl
> Java method name: sayHelloWorld
> Java paramaters: [Ljava.lang.String;@44e844e8
> Service Implementation method: null
> Axis Operation: org.apache.axis2.description.OutInAxisOperation@3ece3ece
> Number of Parameter Descriptions: 1
> Parameter Description: org.apache.axis2.jaxws.description.impl.ParameterDescriptionImpl@13b813b8
> Name: arg0
> Is header: false; Is holder: false
> Mode: IN
> Type: class java.lang.String; Actual type: class java.lang.String
> Number of Fault Descriptions: 1
> Fault Description: org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl@5f345f34
> Exception class: de.WebServiceFaultException_Exception
> Name: WebServiceFault
> Namespace: WebServiceFault
> FaultBean: de.WebServiceFaultException
> FaultInfo Type Name  : de.WebServiceFaultException
> No Attachment Descriptions
> RuntimeDescriptions:0
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
>     Packages = [de]
>     AnnotationDesc cached for:de.SayHelloWorld
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.WebServiceFaultException
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:java.lang.String
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.SayHelloWorldResponse
>       @XMLRootElement exists = false
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorldResponse
>       propertyName   =return
>         xmlName      =return
>         propertyType =java.lang.String
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorld
>       propertyName   =arg0
>         xmlName      =arg0
>         propertyType =java.lang.String
>     RequestWrappers
>     Operation:sayHelloWorld RequestWrapper:de.SayHelloWorld    ResponseWrappers
>     Operation:sayHelloWorld ResponseWrapper:de.SayHelloWorldResponse    FaultBeanDesc
>     FaultException:de.WebServiceFaultException_Exception
>       FaultBean Class Name :de.WebServiceFaultException
>       FaultBean Namespace  :http://de/
>       FaultBean Local Name :WebServiceFault
> }
> The out- and in- messages are correct. If no 
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
> ....
> in log file is available, the program runs correct. So the failure is only on runtime description fragment.
> Actually code in MethodMarshallerUtils  musts fail, because:
>  
>         FaultDescription fd = operationDesc.getFaultDescriptions()[i];
> // gives an instance of FaultDescriptionImpl from ArrayList
>         FaultBeanDesc faultBeanDesc = marshalDesc.getFaultBeanDesc(fd);
> // search for instance in another HashMap and a key value for search hasn't equals method,
> // the next code trays to operate with NULL object:
>         QName tryQName = new QName(faultBeanDesc.getFaultBeanNamespace(), ... 
> Please, consider to correct this bug.
> Our solution for production environment is to redefine the interface. There are only request and response messages and no fault any more. It is not pretty.

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Commented: (AXIS2-4822) 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class

Posted by "Rich Scheuerle (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12914396#action_12914396 ] 

Rich Scheuerle commented on AXIS2-4822:
---------------------------------------

The problem is  unrelated to a missing 'equals' or 'hashcode' method.

This problem is fixed in the current version of Axis2 (JAX-WS), which guards the tryQName statement.

I will work with Maryna via the IBM support channel to provide a solution to her team for the older version of Axis2 used by the IBM WebSphere product.

thanks,
Rich Scheuerle


> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4822
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4822
>             Project: Axis2
>          Issue Type: Bug
>          Components: jaxws
>    Affects Versions: 1.5.1
>         Environment: websphere 6.1.23 unix
>            Reporter: Maryna Zilske
>            Assignee: Rich Scheuerle
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> The class org.apache.axis2.jaxws.description.impl. OperationDescriptionImpl.class has an attribute 'faultDescriptions'. This attribute is an ArrayList of org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl- objects.
> The class 
> org.apache.axis2.jaxws.runtime.description.marshal.impl.MarshalServiceRuntimeDescriptionImpl  has an attribute 'faultBeanDescMap'. This attribute is a HashMap  contended:
> key value a org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl
> value object an instance of org.apache.axis2.jaxws.runtime.description.marshal.impl.FaultBeanDescImpl.class
> We have a productive runtime NullPointerEception in  org.apache.axis2.jaxws.marshaller.impl.alt MethodMarshallerUtils in the method demarshalFaultResponse on line 
> QName tryName = new (faultBeansDesc.getFaultBeanNameSpase ...
> because faultBeansDesc is null: 
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:180)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:79)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:134)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:372)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:400)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:373)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:294)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:147)
> 	at $Proxy30.ermittelnHilfsmittelVertraege(Unknown Source)
> 	at sun.reflect.GeneratedMethodAccessor938.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:416)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:392)
> 	... 40 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:887)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:366)
> 	... 50 more
> I switched the log level on axis2.jaxws and see:
> [14.09.10 08:18:51:002 CEST] 0000001e DescriptionFa 1 org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl createServiceDescription Cache Map = {org.apache.axis2.jaxws.description.DescriptionKey@b1873327=org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl@14881488
> ServiceQName: {http://de/}HelloImplService
> isWSDLSpecified: true; WSDL Location: file:./WEB-INF/wsdl/HelloImplService.wsdl
> WSDL Definition available: true; Generated WSDL Definition available: false
> Number of ports: 1
> Port QNames: {http://de/}HelloImplPort; 
> Number of EndpointDescrptions: 1
> org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl@203c203c
> Name: HelloImpl; Endpoint Address: http://127.0.0.1:9080/FaultTest/HelloImplService
> ServiceQName: {http://de/}HelloImplService; PortQName: {http://de/}HelloImplPort; TargetNamespace: http://de/
> Service Mode: null; Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http; Client Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http
> Is provider-based: false; Is proxy-based: true; Is WSDL fully specified: true
> AxisService: org.apache.axis2.description.AxisService@5480548
> EndpointInterfaceDescription: org.apache.axis2.jaxws.description.impl.EndpointInterfaceDescriptionImpl@26a026a
> Name: HelloImpl; PortType: {http://de/}HelloImpl
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Number of operations: 1
> Operation: org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl@2d802d8
> Name: sayHelloWorld; Operation Name: sayHelloWorld; Action: 
> Operation excluded: false; Is oneway: false; Is returning result: true; Is result header: false; Is JAXWS Client Async method: false
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Result name: return; Result part name: return; Result type: class java.lang.String; Result actual type: class java.lang.String
> Request Wrapper class: de.SayHelloWorld; Response Wrapper class: de.SayHelloWorldResponse
> Java declaring class name: de.HelloImpl
> Java method name: sayHelloWorld
> Java paramaters: [Ljava.lang.String;@44e844e8
> Service Implementation method: null
> Axis Operation: org.apache.axis2.description.OutInAxisOperation@3ece3ece
> Number of Parameter Descriptions: 1
> Parameter Description: org.apache.axis2.jaxws.description.impl.ParameterDescriptionImpl@13b813b8
> Name: arg0
> Is header: false; Is holder: false
> Mode: IN
> Type: class java.lang.String; Actual type: class java.lang.String
> Number of Fault Descriptions: 1
> Fault Description: org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl@5f345f34
> Exception class: de.WebServiceFaultException_Exception
> Name: WebServiceFault
> Namespace: WebServiceFault
> FaultBean: de.WebServiceFaultException
> FaultInfo Type Name  : de.WebServiceFaultException
> No Attachment Descriptions
> RuntimeDescriptions:0
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
>     Packages = [de]
>     AnnotationDesc cached for:de.SayHelloWorld
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.WebServiceFaultException
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:java.lang.String
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.SayHelloWorldResponse
>       @XMLRootElement exists = false
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorldResponse
>       propertyName   =return
>         xmlName      =return
>         propertyType =java.lang.String
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorld
>       propertyName   =arg0
>         xmlName      =arg0
>         propertyType =java.lang.String
>     RequestWrappers
>     Operation:sayHelloWorld RequestWrapper:de.SayHelloWorld    ResponseWrappers
>     Operation:sayHelloWorld ResponseWrapper:de.SayHelloWorldResponse    FaultBeanDesc
>     FaultException:de.WebServiceFaultException_Exception
>       FaultBean Class Name :de.WebServiceFaultException
>       FaultBean Namespace  :http://de/
>       FaultBean Local Name :WebServiceFault
> }
> The out- and in- messages are correct. If no 
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
> ....
> in log file is available, the program runs correct. So the failure is only on runtime description fragment.
> Actually code in MethodMarshallerUtils  musts fail, because:
>  
>         FaultDescription fd = operationDesc.getFaultDescriptions()[i];
> // gives an instance of FaultDescriptionImpl from ArrayList
>         FaultBeanDesc faultBeanDesc = marshalDesc.getFaultBeanDesc(fd);
> // search for instance in another HashMap and a key value for search hasn't equals method,
> // the next code trays to operate with NULL object:
>         QName tryQName = new QName(faultBeanDesc.getFaultBeanNamespace(), ... 
> Please, consider to correct this bug.
> Our solution for production environment is to redefine the interface. There are only request and response messages and no fault any more. It is not pretty.

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


[jira] Commented: (AXIS2-4822) 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class

Posted by "Rich Scheuerle (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AXIS2-4822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12914396#action_12914396 ] 

Rich Scheuerle commented on AXIS2-4822:
---------------------------------------

The problem is  unrelated to a missing 'equals' or 'hashcode' method.

This problem is fixed in the current version of Axis2 (JAX-WS), which guards the tryQName statement.

I will work with Maryna via the IBM support channel to provide a solution to her team for the older version of Axis2 used by the IBM WebSphere product.

thanks,
Rich Scheuerle


> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4822
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4822
>             Project: Axis2
>          Issue Type: Bug
>          Components: jaxws
>    Affects Versions: 1.5.1
>         Environment: websphere 6.1.23 unix
>            Reporter: Maryna Zilske
>            Assignee: Rich Scheuerle
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> 'equals ' and 'hashCode ' method is missing in org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl.class 
> The class org.apache.axis2.jaxws.description.impl. OperationDescriptionImpl.class has an attribute 'faultDescriptions'. This attribute is an ArrayList of org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl- objects.
> The class 
> org.apache.axis2.jaxws.runtime.description.marshal.impl.MarshalServiceRuntimeDescriptionImpl  has an attribute 'faultBeanDescMap'. This attribute is a HashMap  contended:
> key value a org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl
> value object an instance of org.apache.axis2.jaxws.runtime.description.marshal.impl.FaultBeanDescImpl.class
> We have a productive runtime NullPointerEception in  org.apache.axis2.jaxws.marshaller.impl.alt MethodMarshallerUtils in the method demarshalFaultResponse on line 
> QName tryName = new (faultBeansDesc.getFaultBeanNameSpase ...
> because faultBeansDesc is null: 
> Caused by: javax.xml.ws.WebServiceException: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.ExceptionFactory.createWebServiceException(ExceptionFactory.java:180)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:79)
> 	at org.apache.axis2.jaxws.ExceptionFactory.makeWebServiceException(ExceptionFactory.java:134)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:372)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultResponse(JAXWSProxyHandler.java:400)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:373)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:294)
> 	at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:147)
> 	at $Proxy30.ermittelnHilfsmittelVertraege(Unknown Source)
> 	at sun.reflect.GeneratedMethodAccessor938.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:416)
> 	at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:392)
> 	... 40 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse(MethodMarshallerUtils.java:887)
> 	at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitBareMethodMarshaller.demarshalFaultResponse(DocLitBareMethodMarshaller.java:366)
> 	... 50 more
> I switched the log level on axis2.jaxws and see:
> [14.09.10 08:18:51:002 CEST] 0000001e DescriptionFa 1 org.apache.axis2.jaxws.description.impl.DescriptionFactoryImpl createServiceDescription Cache Map = {org.apache.axis2.jaxws.description.DescriptionKey@b1873327=org.apache.axis2.jaxws.description.impl.ServiceDescriptionImpl@14881488
> ServiceQName: {http://de/}HelloImplService
> isWSDLSpecified: true; WSDL Location: file:./WEB-INF/wsdl/HelloImplService.wsdl
> WSDL Definition available: true; Generated WSDL Definition available: false
> Number of ports: 1
> Port QNames: {http://de/}HelloImplPort; 
> Number of EndpointDescrptions: 1
> org.apache.axis2.jaxws.description.impl.EndpointDescriptionImpl@203c203c
> Name: HelloImpl; Endpoint Address: http://127.0.0.1:9080/FaultTest/HelloImplService
> ServiceQName: {http://de/}HelloImplService; PortQName: {http://de/}HelloImplPort; TargetNamespace: http://de/
> Service Mode: null; Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http; Client Binding Type: http://schemas.xmlsoap.org/wsdl/soap/http
> Is provider-based: false; Is proxy-based: true; Is WSDL fully specified: true
> AxisService: org.apache.axis2.description.AxisService@5480548
> EndpointInterfaceDescription: org.apache.axis2.jaxws.description.impl.EndpointInterfaceDescriptionImpl@26a026a
> Name: HelloImpl; PortType: {http://de/}HelloImpl
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Number of operations: 1
> Operation: org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl@2d802d8
> Name: sayHelloWorld; Operation Name: sayHelloWorld; Action: 
> Operation excluded: false; Is oneway: false; Is returning result: true; Is result header: false; Is JAXWS Client Async method: false
> SOAP Style: DOCUMENT; SOAP Use: LITERAL; SOAP Paramater Style: WRAPPED
> Result name: return; Result part name: return; Result type: class java.lang.String; Result actual type: class java.lang.String
> Request Wrapper class: de.SayHelloWorld; Response Wrapper class: de.SayHelloWorldResponse
> Java declaring class name: de.HelloImpl
> Java method name: sayHelloWorld
> Java paramaters: [Ljava.lang.String;@44e844e8
> Service Implementation method: null
> Axis Operation: org.apache.axis2.description.OutInAxisOperation@3ece3ece
> Number of Parameter Descriptions: 1
> Parameter Description: org.apache.axis2.jaxws.description.impl.ParameterDescriptionImpl@13b813b8
> Name: arg0
> Is header: false; Is holder: false
> Mode: IN
> Type: class java.lang.String; Actual type: class java.lang.String
> Number of Fault Descriptions: 1
> Fault Description: org.apache.axis2.jaxws.description.impl.FaultDescriptionImpl@5f345f34
> Exception class: de.WebServiceFaultException_Exception
> Name: WebServiceFault
> Namespace: WebServiceFault
> FaultBean: de.WebServiceFaultException
> FaultInfo Type Name  : de.WebServiceFaultException
> No Attachment Descriptions
> RuntimeDescriptions:0
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
>     Packages = [de]
>     AnnotationDesc cached for:de.SayHelloWorld
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.WebServiceFaultException
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:java.lang.String
>       @XMLRootElement exists = false
>     AnnotationDesc cached for:de.SayHelloWorldResponse
>       @XMLRootElement exists = false
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorldResponse
>       propertyName   =return
>         xmlName      =return
>         propertyType =java.lang.String
>     PropertyDescriptorPlus Map cached for:de.SayHelloWorld
>       propertyName   =arg0
>         xmlName      =arg0
>         propertyType =java.lang.String
>     RequestWrappers
>     Operation:sayHelloWorld RequestWrapper:de.SayHelloWorld    ResponseWrappers
>     Operation:sayHelloWorld ResponseWrapper:de.SayHelloWorldResponse    FaultBeanDesc
>     FaultException:de.WebServiceFaultException_Exception
>       FaultBean Class Name :de.WebServiceFaultException
>       FaultBean Namespace  :http://de/
>       FaultBean Local Name :WebServiceFault
> }
> The out- and in- messages are correct. If no 
> RuntimeDescriptions:1
>   MarshalServiceRuntime:JAXWS-MARSHAL
> ....
> in log file is available, the program runs correct. So the failure is only on runtime description fragment.
> Actually code in MethodMarshallerUtils  musts fail, because:
>  
>         FaultDescription fd = operationDesc.getFaultDescriptions()[i];
> // gives an instance of FaultDescriptionImpl from ArrayList
>         FaultBeanDesc faultBeanDesc = marshalDesc.getFaultBeanDesc(fd);
> // search for instance in another HashMap and a key value for search hasn't equals method,
> // the next code trays to operate with NULL object:
>         QName tryQName = new QName(faultBeanDesc.getFaultBeanNamespace(), ... 
> Please, consider to correct this bug.
> Our solution for production environment is to redefine the interface. There are only request and response messages and no fault any more. It is not pretty.

-- 
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org