Bug 5513 - Persisting a StagingFaultType with local invocations to RFT enabled fails
: Persisting a StagingFaultType with local invocations to RFT enabled fails
Status: RESOLVED FIXED
: GRAM
general
: unspecified
: Macintosh All
: P1 blocker
: 4.2
Assigned To:
:
:
:
:
  Show dependency treegraph
 
Reported: 2007-08-30 11:55 by
Modified: 2008-04-04 14:41 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2007-08-30 11:55:36
There's an issue with local invocations which happens only in Trunk and
not in the 4.0 branch.
If i submit a job to WS-GRAM with a buggy staging request, RFT throws
an Exception and creates a TransferFaultType. WS-GRAM wraps that into a
StagingFaultType and persists this fault as part of the resource data to
an XML document to disk.
This however causes an error with the "Originator" element
(EndpointReferenceType) in the TransferFaultType. This element seems to
be corrupted in some way, so that the "Address"-Element of the Originator
is null. According to the WS-Addressing schema the address of an
EndpointReferenceType must not be null. And this leads to an exception
when the StagingFaultType is persisted to disk:
"Non nillable element 'address' is null."

I checked some things:
* This does not happen with WS calls to RFT.
* The "Originator" in the TransferFault element seems to be ok at the point
  when RFT creates the TransferFault.
* The originator element is ok in the 4.0 branch, even with local calls


The originator of the TransferFaultType is in a way corrupted that 
everything is stored in Extensibility Elements; although the class is 
EndpointReference the as can be seen in the log ("originator(class):
org.apache.axis.message.addressing.EndpointReferenceType") the call
of getAddress() on that EPR returns null, which seems to be the root
of the problem:

2007-08-24T09:29:20,718-05:00 WARN  utils.FaultUtils
[RunQueueThread_3,printBaseFault:704] originator: Extensibility
Element[0]:
<Address xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xsd:anyURI">https://129.93.2.54:8443/wsrf/services/ReliableFileTransferFactoryService</Address>
Extensibility Element[1]:
<ReferenceProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="ns2:ReferencePropertiesType"><ns1:TransferKey
xmlns:ns1="http://www.globus.org/namespaces/2004/10/rft"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xsi:type="xsd:string">5026</ns1:TransferKey></ReferenceProperties>
Extensibility Element[2]:
<ReferenceParameters xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="ns2:ReferenceParametersType"/>
Extensibility Element[3]:
<PortType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:nil="true" xsi:type="ns2:AttributedQName"/>
Extensibility Element[4]:
<ServiceName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:nil="true" xsi:type="ns2:ServiceNameType"/>

2007-08-24T09:29:20,719-05:00 WARN  utils.FaultUtils
[RunQueueThread_3,printBaseFault:705] originator(class):
org.apache.axis.message.addressing.EndpointReferenceType
2007-08-24T09:29:20,719-05:00 WARN  utils.FaultUtils
[RunQueueThread_3,printBaseFault:706] originator.address: null


The output of a toString() call on the originator in 4.0 branch
looks like this:

2007-08-24 09:33:06,959 WARN  utils.FaultUtils
[RunQueueThread_3,printBaseFault:715] originator: Address:
https://osg-test1.unl.edu:8443/wsrf/services/ReliableFileTransferFactoryService
Reference property[0]:
<ns1:TransferKey xmlns:ns1="http://www.globus.org/namespaces/2004/10/rft"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="xsd:string">344903</ns1:TransferKey>
------- Comment #1 From 2008-04-04 14:41:20 -------
This is no longer an issue.  Resolving.