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

Reply via email to