You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wsif-user@ws.apache.org by William Reichardt <wi...@hp.com> on 2004/08/06 20:27:18 UTC

Problems using dynamic invocation.

I am having problems making simple web service calls using Dynamic
invocation of an Axis based web service using WSIF. I have attached the
WSDL for the service to this email. The WSDL is a sample WSDL using the
WSDM spec. I am using the most recent HEAD from CVS for my WSIF
implementation.

I am trying to make a dynamic invocation call on the 
GetResourceProperty operation. This operation imports its input and
output messages from the WSRP WSDL.

   <portType name="DiskPortType"
wsrp:ResourceProperties="tns:DiskProperties">
      <operation name="GetResourceProperty">
         <input name="GetResourcePropertyRequest"
message="wsrp:GetResourcePropertyRequest"/>
         <output name="GetResourcePropertyResponse"
message="wsrp:GetResourcePropertyResponse"/>
         <fault name="ResourceUnknownFault"
message="wsrp:ResourceUnknownFault"/>
         <fault name="InvalidResourcePropertyQNameFault"
message="wsrp:InvalidResourcePropertyQNameFault"/>
      </operation>

The first problem I encountered was that the imported schemas were not
being pulled in unless I set the following features.

        factory.setFeature(WSIFConstants.WSIF_FEATURE_AUTO_MAP_TYPES,
Boolean.TRUE);
        char[] chars = new char[0];
       
factory.setFeature(WSIFConstants.WSIF_FEATURE_PROXY_AUTHENTICATION, new
PasswordAuthentication("", chars));
	
Unless these were set, my imported schemas were being ignored (See
WSIFServiceImpl constructor and .init()). I am not using authentication
at all. Is there a better way to get my WSDL information imported?


My second problem is in actually being able to fill in the fields of the
input message. I have tried many combinations of input.setObjectPart but
do not seem able to fill in the input document properly. The schema
fragment for wsrp:GetResourceProeprtyRequest is ...

       <xsd:element name="GetResourcePropertyRequest" 
                    type="xsd:QName" />

which is pretty straight forward, but it is from an external document.

I attempt to set a QName for this value by doing a....

        QName qn = new QName("http://xyz.com/","BlockSize");
        input.setObjectPart("GetResourcePropertyRequest",qn);

and get the following:

   <soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
      <soapenv:Header>
         <prop:To
xmlns:prop="http://my.org/uri/">http://localhost:8080/wsdm</prop:To>
         <prop:Action
xmlns:prop="http://my.org/uri/">http://schemas.xmlsoap.org/ws/2004/03/addressing</prop:Action>
         <prop:ResourceID
xmlns:prop="http://my.org/uri/">1234</prop:ResourceID> 
      </soapenv:Header> 
      <soapenv:Body>  
         <GetResourcePropertyRequest xsi:type="xsd:QName" xmlns=""
xmlns:ns1="http://xyz.com/">ns1:BlockSize</GetResourcePropertyRequest> 
      </soapenv:Body>
   </soapenv:Envelope>
   
The problem with this document is that GetResourcePropertyRequest
namespace is not defined (xmlns=""). It also has an xsi:type attribute
which I do  not want included as I am doing document style.

The only way I could get the request to look the way I needed it to was
to do the following. (Which I think defeats the purpose of using WSIF in
the first place..)

        DocumentBuilderFactory docFactory =
DocumentBuilderFactory.newInstance();
        docFactory.setNamespaceAware(true);    
         DocumentBuilder builder = null;
        try {
            builder = docFactory.newDocumentBuilder();
        } catch (ParserConfigurationException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        Document doc = builder.newDocument();
        
         Element elem =
doc.createElementNS("http://www.ibm.com/xmlns/stdwip/web-services/WS-ResourceProperties", "GetResourcePropertyRequest");
         elem.setAttribute("xmlns:m","http://xyz.com");

        Text text = doc.createTextNode("m:BlockSize");
        elem.appendChild(text);
        input.setObjectPart("GetResourcePropertyRequest",elem);

This version produced the following request which is what the WSDL
actually requires.

  <soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
      <soapenv:Header>
         <prop:To
xmlns:prop="http://my.org/uri/">http://localhost:8080/wsdm</prop:To>
         <prop:Action
xmlns:prop="http://my.org/uri/">http://schemas.xmlsoap.org/ws/2004/03/addressing</prop:Action>
         <prop:ResourceID
xmlns:prop="http://my.org/uri/">1234</prop:ResourceID> 
      </soapenv:Header> 
      <soapenv:Body>
         <ns1:GetResourcePropertyRequest xmlns:m="http://xyz.com"
xmlns:ns1="http://www.ibm.com/xmlns/stdwip/web-services/WS-ResourceProperties">m:BlockSize</ns1:GetResourcePropertyRequest> 
      </soapenv:Body>
   </soapenv:Envelope>
   
   Notice there is no longer any xsi:type and GetResourcePropertyRequest
is qualified now. 

   
   Am I using WSIF incorrectly or is this the only way I can build this
request?

Thanks in advance,

Re: Problems using dynamic invocation.

Posted by William Reichardt <wi...@hp.com>.
Thanks for taking a look at the remote WSDL problem. The MUWS WSDL is
not available publicly at the moment for some reason. I have attached it
to this reply so that you can host it internally to try it for yourself.

I believe that the problem can be seen around WSIFServiceImpl Lines
208-225 in the WSIFServiceImpl constructor where the WSDL locator gets
discarded if getProxyAuthentication() returns null. I am not clear on
why this decision was made so I wanted to have someone on the project
take a look at this.

I am still hoping to get some feedback also on how to use
input.setObjectPart to actually fill in the request message below.

Thanks,
-Bill

On Sat, 2004-08-07 at 02:28, Aleksander Slominski wrote:
> William Reichardt wrote:
> 
> >I am having problems making simple web service calls using Dynamic
> >invocation of an Axis based web service using WSIF. I have attached the
> >WSDL for the service to this email. The WSDL is a sample WSDL using the
> >WSDM spec. I am using the most recent HEAD from CVS for my WSIF
> >implementation.
> >
> >I am trying to make a dynamic invocation call on the 
> >GetResourceProperty operation. This operation imports its input and
> >output messages from the WSRP WSDL.
> >
> >   <portType name="DiskPortType"
> >wsrp:ResourceProperties="tns:DiskProperties">
> >      <operation name="GetResourceProperty">
> >         <input name="GetResourcePropertyRequest"
> >message="wsrp:GetResourcePropertyRequest"/>
> >         <output name="GetResourcePropertyResponse"
> >message="wsrp:GetResourcePropertyResponse"/>
> >         <fault name="ResourceUnknownFault"
> >message="wsrp:ResourceUnknownFault"/>
> >         <fault name="InvalidResourcePropertyQNameFault"
> >message="wsrp:InvalidResourcePropertyQNameFault"/>
> >      </operation>
> >
> >The first problem I encountered was that the imported schemas were not
> >being pulled in unless I set the following features.
> >
> >        factory.setFeature(WSIFConstants.WSIF_FEATURE_AUTO_MAP_TYPES,
> >Boolean.TRUE);
> >        char[] chars = new char[0];
> >       
> >factory.setFeature(WSIFConstants.WSIF_FEATURE_PROXY_AUTHENTICATION, new
> >PasswordAuthentication("", chars));
> >	
> >Unless these were set, my imported schemas were being ignored (See
> >WSIFServiceImpl constructor and .init()). I am not using authentication
> >at all. Is there a better way to get my WSDL information imported?
> >  
> >
> hi,
> 
> that looks like a bug if it is the case however i was not able to access 
> imported WSDL at all, from outside hp.com it is not possible to read:
> http://mip.esr.hp.com/wsdm/wsdl/MUWS.wsdl
> (specified in WSDL in          <xsd:import 
> namespace="http://docs.oasis-open.org/wsdm/2004/04/muws-0.5/schema"
> schemaLocation="http://mip.esr.hp.com/wsdm/wsdl/MUWS.xsd" />)
> 
> >My second problem is in actually being able to fill in the fields of the
> >input message. I have tried many combinations of input.setObjectPart but
> >do not seem able to fill in the input document properly. The schema
> >fragment for wsrp:GetResourceProeprtyRequest is ...
> >
> >       <xsd:element name="GetResourcePropertyRequest" 
> >                    type="xsd:QName" />
> >
> >which is pretty straight forward, but it is from an external document.
> >
> >I attempt to set a QName for this value by doing a....
> >
> >        QName qn = new QName("http://xyz.com/","BlockSize");
> >        input.setObjectPart("GetResourcePropertyRequest",qn);
> >
> >and get the following:
> >
> >   <soapenv:Envelope
> >xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> >xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> >xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
> >      <soapenv:Header>
> >         <prop:To
> >xmlns:prop="http://my.org/uri/">http://localhost:8080/wsdm</prop:To>
> >         <prop:Action
> >xmlns:prop="http://my.org/uri/">http://schemas.xmlsoap.org/ws/2004/03/addressing</prop:Action>
> >         <prop:ResourceID
> >xmlns:prop="http://my.org/uri/">1234</prop:ResourceID> 
> >      </soapenv:Header> 
> >      <soapenv:Body>  
> >         <GetResourcePropertyRequest xsi:type="xsd:QName" xmlns=""
> >xmlns:ns1="http://xyz.com/">ns1:BlockSize</GetResourcePropertyRequest> 
> >      </soapenv:Body>
> >   </soapenv:Envelope>
> >   
> >The problem with this document is that GetResourcePropertyRequest
> >namespace is not defined (xmlns=""). It also has an xsi:type attribute
> >which I do  not want included as I am doing document style.
> >
> >The only way I could get the request to look the way I needed it to was
> >to do the following. (Which I think defeats the purpose of using WSIF in
> >the first place..)
> >
> >        DocumentBuilderFactory docFactory =
> >DocumentBuilderFactory.newInstance();
> >        docFactory.setNamespaceAware(true);    
> >         DocumentBuilder builder = null;
> >        try {
> >            builder = docFactory.newDocumentBuilder();
> >        } catch (ParserConfigurationException e) {
> >            // TODO Auto-generated catch block
> >            e.printStackTrace();
> >        }
> >        Document doc = builder.newDocument();
> >        
> >         Element elem =
> >doc.createElementNS("http://www.ibm.com/xmlns/stdwip/web-services/WS-ResourceProperties", "GetResourcePropertyRequest");
> >         elem.setAttribute("xmlns:m","http://xyz.com");
> >
> >        Text text = doc.createTextNode("m:BlockSize");
> >        elem.appendChild(text);
> >        input.setObjectPart("GetResourcePropertyRequest",elem);
> >
> >This version produced the following request which is what the WSDL
> >actually requires.
> >
> >  <soapenv:Envelope
> >xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> >xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> >xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
> >      <soapenv:Header>
> >         <prop:To
> >xmlns:prop="http://my.org/uri/">http://localhost:8080/wsdm</prop:To>
> >         <prop:Action
> >xmlns:prop="http://my.org/uri/">http://schemas.xmlsoap.org/ws/2004/03/addressing</prop:Action>
> >         <prop:ResourceID
> >xmlns:prop="http://my.org/uri/">1234</prop:ResourceID> 
> >      </soapenv:Header> 
> >      <soapenv:Body>
> >         <ns1:GetResourcePropertyRequest xmlns:m="http://xyz.com"
> >xmlns:ns1="http://www.ibm.com/xmlns/stdwip/web-services/WS-ResourceProperties">m:BlockSize</ns1:GetResourcePropertyRequest> 
> >      </soapenv:Body>
> >   </soapenv:Envelope>
> >   
> >   Notice there is no longer any xsi:type and GetResourcePropertyRequest
> >is qualified now. 
> >
> >   
> >   Am I using WSIF incorrectly or is this the only way I can build this
> >request?
> >  
> >
> i think WSIF2 needs lot of improvements in doc/literal support (AXIS as 
> well ...) especially when doing anything more than really basic XML 
> schema constructs ...
> 
> thanks,
> 
> alek

Re: Problems using dynamic invocation.

Posted by Aleksander Slominski <as...@cs.indiana.edu>.
William Reichardt wrote:

>I am having problems making simple web service calls using Dynamic
>invocation of an Axis based web service using WSIF. I have attached the
>WSDL for the service to this email. The WSDL is a sample WSDL using the
>WSDM spec. I am using the most recent HEAD from CVS for my WSIF
>implementation.
>
>I am trying to make a dynamic invocation call on the 
>GetResourceProperty operation. This operation imports its input and
>output messages from the WSRP WSDL.
>
>   <portType name="DiskPortType"
>wsrp:ResourceProperties="tns:DiskProperties">
>      <operation name="GetResourceProperty">
>         <input name="GetResourcePropertyRequest"
>message="wsrp:GetResourcePropertyRequest"/>
>         <output name="GetResourcePropertyResponse"
>message="wsrp:GetResourcePropertyResponse"/>
>         <fault name="ResourceUnknownFault"
>message="wsrp:ResourceUnknownFault"/>
>         <fault name="InvalidResourcePropertyQNameFault"
>message="wsrp:InvalidResourcePropertyQNameFault"/>
>      </operation>
>
>The first problem I encountered was that the imported schemas were not
>being pulled in unless I set the following features.
>
>        factory.setFeature(WSIFConstants.WSIF_FEATURE_AUTO_MAP_TYPES,
>Boolean.TRUE);
>        char[] chars = new char[0];
>       
>factory.setFeature(WSIFConstants.WSIF_FEATURE_PROXY_AUTHENTICATION, new
>PasswordAuthentication("", chars));
>	
>Unless these were set, my imported schemas were being ignored (See
>WSIFServiceImpl constructor and .init()). I am not using authentication
>at all. Is there a better way to get my WSDL information imported?
>  
>
hi,

that looks like a bug if it is the case however i was not able to access 
imported WSDL at all, from outside hp.com it is not possible to read:
http://mip.esr.hp.com/wsdm/wsdl/MUWS.wsdl
(specified in WSDL in          <xsd:import 
namespace="http://docs.oasis-open.org/wsdm/2004/04/muws-0.5/schema" 
schemaLocation="http://mip.esr.hp.com/wsdm/wsdl/MUWS.xsd" />)

>My second problem is in actually being able to fill in the fields of the
>input message. I have tried many combinations of input.setObjectPart but
>do not seem able to fill in the input document properly. The schema
>fragment for wsrp:GetResourceProeprtyRequest is ...
>
>       <xsd:element name="GetResourcePropertyRequest" 
>                    type="xsd:QName" />
>
>which is pretty straight forward, but it is from an external document.
>
>I attempt to set a QName for this value by doing a....
>
>        QName qn = new QName("http://xyz.com/","BlockSize");
>        input.setObjectPart("GetResourcePropertyRequest",qn);
>
>and get the following:
>
>   <soapenv:Envelope
>xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
>      <soapenv:Header>
>         <prop:To
>xmlns:prop="http://my.org/uri/">http://localhost:8080/wsdm</prop:To>
>         <prop:Action
>xmlns:prop="http://my.org/uri/">http://schemas.xmlsoap.org/ws/2004/03/addressing</prop:Action>
>         <prop:ResourceID
>xmlns:prop="http://my.org/uri/">1234</prop:ResourceID> 
>      </soapenv:Header> 
>      <soapenv:Body>  
>         <GetResourcePropertyRequest xsi:type="xsd:QName" xmlns=""
>xmlns:ns1="http://xyz.com/">ns1:BlockSize</GetResourcePropertyRequest> 
>      </soapenv:Body>
>   </soapenv:Envelope>
>   
>The problem with this document is that GetResourcePropertyRequest
>namespace is not defined (xmlns=""). It also has an xsi:type attribute
>which I do  not want included as I am doing document style.
>
>The only way I could get the request to look the way I needed it to was
>to do the following. (Which I think defeats the purpose of using WSIF in
>the first place..)
>
>        DocumentBuilderFactory docFactory =
>DocumentBuilderFactory.newInstance();
>        docFactory.setNamespaceAware(true);    
>         DocumentBuilder builder = null;
>        try {
>            builder = docFactory.newDocumentBuilder();
>        } catch (ParserConfigurationException e) {
>            // TODO Auto-generated catch block
>            e.printStackTrace();
>        }
>        Document doc = builder.newDocument();
>        
>         Element elem =
>doc.createElementNS("http://www.ibm.com/xmlns/stdwip/web-services/WS-ResourceProperties", "GetResourcePropertyRequest");
>         elem.setAttribute("xmlns:m","http://xyz.com");
>
>        Text text = doc.createTextNode("m:BlockSize");
>        elem.appendChild(text);
>        input.setObjectPart("GetResourcePropertyRequest",elem);
>
>This version produced the following request which is what the WSDL
>actually requires.
>
>  <soapenv:Envelope
>xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
>      <soapenv:Header>
>         <prop:To
>xmlns:prop="http://my.org/uri/">http://localhost:8080/wsdm</prop:To>
>         <prop:Action
>xmlns:prop="http://my.org/uri/">http://schemas.xmlsoap.org/ws/2004/03/addressing</prop:Action>
>         <prop:ResourceID
>xmlns:prop="http://my.org/uri/">1234</prop:ResourceID> 
>      </soapenv:Header> 
>      <soapenv:Body>
>         <ns1:GetResourcePropertyRequest xmlns:m="http://xyz.com"
>xmlns:ns1="http://www.ibm.com/xmlns/stdwip/web-services/WS-ResourceProperties">m:BlockSize</ns1:GetResourcePropertyRequest> 
>      </soapenv:Body>
>   </soapenv:Envelope>
>   
>   Notice there is no longer any xsi:type and GetResourcePropertyRequest
>is qualified now. 
>
>   
>   Am I using WSIF incorrectly or is this the only way I can build this
>request?
>  
>
i think WSIF2 needs lot of improvements in doc/literal support (AXIS as 
well ...) especially when doing anything more than really basic XML 
schema constructs ...

thanks,

alek

-- 
The best way to predict the future is to invent it - Alan Kay


Re: Problems using dynamic invocation.

Posted by Aleksander Slominski <as...@cs.indiana.edu>.
William Reichardt wrote:

>I am having problems making simple web service calls using Dynamic
>invocation of an Axis based web service using WSIF. I have attached the
>WSDL for the service to this email. The WSDL is a sample WSDL using the
>WSDM spec. I am using the most recent HEAD from CVS for my WSIF
>implementation.
>
>I am trying to make a dynamic invocation call on the 
>GetResourceProperty operation. This operation imports its input and
>output messages from the WSRP WSDL.
>
>   <portType name="DiskPortType"
>wsrp:ResourceProperties="tns:DiskProperties">
>      <operation name="GetResourceProperty">
>         <input name="GetResourcePropertyRequest"
>message="wsrp:GetResourcePropertyRequest"/>
>         <output name="GetResourcePropertyResponse"
>message="wsrp:GetResourcePropertyResponse"/>
>         <fault name="ResourceUnknownFault"
>message="wsrp:ResourceUnknownFault"/>
>         <fault name="InvalidResourcePropertyQNameFault"
>message="wsrp:InvalidResourcePropertyQNameFault"/>
>      </operation>
>
>The first problem I encountered was that the imported schemas were not
>being pulled in unless I set the following features.
>
>        factory.setFeature(WSIFConstants.WSIF_FEATURE_AUTO_MAP_TYPES,
>Boolean.TRUE);
>        char[] chars = new char[0];
>       
>factory.setFeature(WSIFConstants.WSIF_FEATURE_PROXY_AUTHENTICATION, new
>PasswordAuthentication("", chars));
>	
>Unless these were set, my imported schemas were being ignored (See
>WSIFServiceImpl constructor and .init()). I am not using authentication
>at all. Is there a better way to get my WSDL information imported?
>  
>
hi,

that looks like a bug if it is the case however i was not able to access 
imported WSDL at all, from outside hp.com it is not possible to read:
http://mip.esr.hp.com/wsdm/wsdl/MUWS.wsdl
(specified in WSDL in          <xsd:import 
namespace="http://docs.oasis-open.org/wsdm/2004/04/muws-0.5/schema" 
schemaLocation="http://mip.esr.hp.com/wsdm/wsdl/MUWS.xsd" />)

>My second problem is in actually being able to fill in the fields of the
>input message. I have tried many combinations of input.setObjectPart but
>do not seem able to fill in the input document properly. The schema
>fragment for wsrp:GetResourceProeprtyRequest is ...
>
>       <xsd:element name="GetResourcePropertyRequest" 
>                    type="xsd:QName" />
>
>which is pretty straight forward, but it is from an external document.
>
>I attempt to set a QName for this value by doing a....
>
>        QName qn = new QName("http://xyz.com/","BlockSize");
>        input.setObjectPart("GetResourcePropertyRequest",qn);
>
>and get the following:
>
>   <soapenv:Envelope
>xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
>      <soapenv:Header>
>         <prop:To
>xmlns:prop="http://my.org/uri/">http://localhost:8080/wsdm</prop:To>
>         <prop:Action
>xmlns:prop="http://my.org/uri/">http://schemas.xmlsoap.org/ws/2004/03/addressing</prop:Action>
>         <prop:ResourceID
>xmlns:prop="http://my.org/uri/">1234</prop:ResourceID> 
>      </soapenv:Header> 
>      <soapenv:Body>  
>         <GetResourcePropertyRequest xsi:type="xsd:QName" xmlns=""
>xmlns:ns1="http://xyz.com/">ns1:BlockSize</GetResourcePropertyRequest> 
>      </soapenv:Body>
>   </soapenv:Envelope>
>   
>The problem with this document is that GetResourcePropertyRequest
>namespace is not defined (xmlns=""). It also has an xsi:type attribute
>which I do  not want included as I am doing document style.
>
>The only way I could get the request to look the way I needed it to was
>to do the following. (Which I think defeats the purpose of using WSIF in
>the first place..)
>
>        DocumentBuilderFactory docFactory =
>DocumentBuilderFactory.newInstance();
>        docFactory.setNamespaceAware(true);    
>         DocumentBuilder builder = null;
>        try {
>            builder = docFactory.newDocumentBuilder();
>        } catch (ParserConfigurationException e) {
>            // TODO Auto-generated catch block
>            e.printStackTrace();
>        }
>        Document doc = builder.newDocument();
>        
>         Element elem =
>doc.createElementNS("http://www.ibm.com/xmlns/stdwip/web-services/WS-ResourceProperties", "GetResourcePropertyRequest");
>         elem.setAttribute("xmlns:m","http://xyz.com");
>
>        Text text = doc.createTextNode("m:BlockSize");
>        elem.appendChild(text);
>        input.setObjectPart("GetResourcePropertyRequest",elem);
>
>This version produced the following request which is what the WSDL
>actually requires.
>
>  <soapenv:Envelope
>xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
>      <soapenv:Header>
>         <prop:To
>xmlns:prop="http://my.org/uri/">http://localhost:8080/wsdm</prop:To>
>         <prop:Action
>xmlns:prop="http://my.org/uri/">http://schemas.xmlsoap.org/ws/2004/03/addressing</prop:Action>
>         <prop:ResourceID
>xmlns:prop="http://my.org/uri/">1234</prop:ResourceID> 
>      </soapenv:Header> 
>      <soapenv:Body>
>         <ns1:GetResourcePropertyRequest xmlns:m="http://xyz.com"
>xmlns:ns1="http://www.ibm.com/xmlns/stdwip/web-services/WS-ResourceProperties">m:BlockSize</ns1:GetResourcePropertyRequest> 
>      </soapenv:Body>
>   </soapenv:Envelope>
>   
>   Notice there is no longer any xsi:type and GetResourcePropertyRequest
>is qualified now. 
>
>   
>   Am I using WSIF incorrectly or is this the only way I can build this
>request?
>  
>
i think WSIF2 needs lot of improvements in doc/literal support (AXIS as 
well ...) especially when doing anything more than really basic XML 
schema constructs ...

thanks,

alek

-- 
The best way to predict the future is to invent it - Alan Kay