Annotations don't seem to work. I did this (found it in user guide somewhere).
I tried it using a specific name instead of "*" and it works that way too. I
know, pita.
/**
* This method is overridden because it is one place where all
OperationInfo instances
* go through just once when the application is initialized.
* It assigns AddressingOperationInfo objects to the operation so that the
WS-Addressing
* Action header can be interpreted. Note that we only have one operation
and by
* assigning the action name "*" it will match all actions.
*
* @see
org.codehaus.xfire.service.binding.ObjectServiceFactory#getAction(org.codehaus.xfire.service.OperationInfo)
*/
@Override
protected String getAction(OperationInfo op) {
op.setProperty(AddressingOperationInfo.ADDRESSING_OPERATION_KEY
, new AddressingOperationInfo("*"
, null
, op));
return super.getAction(op);
}
----- Original Message ----
From: Christopher Moesel <[EMAIL PROTECTED]>
To: [email protected]
Sent: Wednesday, December 20, 2006 10:36:52 AM
Subject: [xfire-user] WS-Addressing and XFire 1.2.3
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;}
span.EmailStyle17
{font-family:Arial;
color:windowtext;}
_filtered {
margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
{}
-->
Hello All,
I’ve spent some time trying to determine why I can’t
get my JSR-181 web service to work with a C# client using the WSE 3.0
enhancements. I think it comes down to WS-Addressing: WSE 3.0
insists on using WS-A, and XFire doesn’t appear to be properly
registering the actions I’m declaring via my annotations—so it
rejects the client request because it can’t find the requested action.
According to the documentation at http://xfire.codehaus.org/WS-Addressing,
XFire supports WS-A (w/ no caveats). The unresolved XFIRE-156 issue,
however, states that XFire does not yet support the WS-Addressing 1.0 spec.
I’m not familiar w/ the differences in the 1.0 spec, but should this be
stated in the docs, since it’s support is not schedule until 2.0-M1?
The documentation also says that the action can be set via
JSR-181 Annotations. I think this may be incorrect. Has this been
tested and confirmed? I’ve been running this through my debugger
and it looks to me like the “action” annotation is never read.
In addition, as far as I can tell, none of the constructors for the
AddressingOperationInfo
class are ever used in the XFire codebase—and this appears to be the
class consulted to check for a registered action. So I can’t see
how it would ever work…
I’m still fairly new to XFire though… so maybe I’m
completely missing something. Can anyone shed some light on this for me?
Thanks,
Chris