You are viewing a plain text version of this content. The canonical link for it is here.
Posted to savan-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] 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] 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] 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