Hi all, I'm working my way through creating a 3.0 SDef and SDep, and so far I've muddled my way through, figuring things out as I go. I have created a content model, an object that conforms to the content model, the SDef, and SDep. It seems that there are many placeholders in the code for things that aren't yet implemented, which makes it challenging to figure certain things out - like what WSDL is supported in the SDep (1.0, HTTP bindings only it seems).
Anyway, in my SDep method map I want to pass a DatastreamInputParam by value, so I have the following: <fmm:MethodMap bDefPID="changeme:2" name="MethodMap - Document Transform SDEF Methods" xmlns:fmm="http://fedora.comm.nsdlib.org/service/methodmap "> <fmm:Method operationName="getFlashViewerHtml" wsdlMsgName="getFlashViewerHtmlMessage" wsdlMsgOutput="getFlashViewerHtmlResponseMessage"> <fmm:DatastreamInputParm parmName="IMAGEVIEWERID" passBy="value" required="true"/> <fmm:MethodReturnType wsdlMsgName="getFlashViewerHtmlResponseMessage" wsdlMsgTOMIME="text/ html"/> </fmm:Method> </fmm:MethodMap> Where IMAGEVIEWERID is a datastream required by the content model. Here is the wsdl:operation from the SDep WSDL datastream: <wsdl:operation name="getFlashViewerHtml"> <http:operation location="ImageViewerService/getFlashViewerHtml? imageName=(IMAGEVIEWERID)"/> <wsdl:input> <http:urlReplacement/> </wsdl:input> <wsdl:output> <mime:content type="text/html"/> </wsdl:output> </wsdl:operation> When I request the object (the object conforming to my content model) SDef, it appears the datastream input parameter is being sent by reference instead of by value. I receive the full URL (encoded) to the IMAGEVIEWERID datastream instead of the value of the datastream. You can see the error that results by attempting it yourself at: http://fedora-test.mse.jhu.edu/fedora/get/changeme:1/changeme:2/getFlashViewerHtml/ On the server side I see some information in the logs (I haven't turned up to DEBUG yet): My ImageViewerService servlet (referenced by the SDep WSDL) outputs the following: INFO: Processing request for image id 'http://fedora-test.mse.jhu.edu:80/fedora/get/changeme:1/IMAGEVIEWERID/2008-11-06T01:40:39.073Z' I'm expecting the image id to be a value like 'ir/1774.2/1000' instead of the url to the datastream. So I guess my question is: should pass by value be working? Am I doing something wrong or is this something else that isn't implemented and its all done pass by reference? Thanks for any help, Elliot ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Fedora-commons-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/fedora-commons-developers
