[jboss-user] [JBossWS] - Re: WSDL - convert to MTOM

Ian Ashley do-not-reply at jboss.com
Wed Mar 4 12:07:42 EST 2009


To provide a bit more information we are used complex types containing base64Binary encoded data, for example

			<s:element name="StoreAsset">
  | 				<s:complexType>
  | 					<s:sequence>
  | 						<s:element minOccurs="1" maxOccurs="1" name="sessionId" type="s:string"/>
  | 						<s:element minOccurs="0" maxOccurs="1" name="assetRef" type="s:string"/>
  | 						<s:element minOccurs="0" maxOccurs="1" name="nodeRef" type="s:string"/>
  | 						<s:element minOccurs="0" maxOccurs="1" name="leafName" type="s:string"/>
  | 						<s:element minOccurs="0" maxOccurs="unbounded" name="values" type="tns:NameTypeValue"/>
  | 						<s:element minOccurs="1" maxOccurs="1" name="asset" type="s:base64Binary"/>
  | 					</s:sequence>
  | 				</s:complexType>
  | 			</s:element>
  | 

The generated interface is
    /**
  |      * 
  |      * @param asset
  |      * @param values
  |      * @param assetRef
  |      * @param leafName
  |      * @param sessionId
  |      * @param nodeRef
  |      * @throws SessionExpiredException
  |      * @throws NsteinDPSErrorException
  |      */
  |     @WebMethod(operationName = "StoreAsset", action = "StoreAsset")
  |     @RequestWrapper(localName = "StoreAsset", targetNamespace = "http://services.nstein.com/NsteinDPS", className = "com.nstein.services.nsteindps.StoreAsset")
  |     @ResponseWrapper(localName = "StoreAssetResponse", targetNamespace = "http://services.nstein.com/NsteinDPS", className = "com.nstein.services.nsteindps.StoreAssetResponse")
  |     public void storeAsset(
  |         @WebParam(name = "sessionId", targetNamespace = "http://services.nstein.com/NsteinDPS")
  |         String sessionId,
  |         @WebParam(name = "assetRef", targetNamespace = "http://services.nstein.com/NsteinDPS", mode = WebParam.Mode.INOUT)
  |         Holder<String> assetRef,
  |         @WebParam(name = "nodeRef", targetNamespace = "http://services.nstein.com/NsteinDPS")
  |         String nodeRef,
  |         @WebParam(name = "leafName", targetNamespace = "http://services.nstein.com/NsteinDPS")
  |         String leafName,
  |         @WebParam(name = "values", targetNamespace = "http://services.nstein.com/NsteinDPS")
  |         List<NameTypeValue> values,
  |         @WebParam(name = "asset", targetNamespace = "http://services.nstein.com/NsteinDPS")
  |         byte[] asset)
  |         throws NsteinDPSErrorException, SessionExpiredException
  |     ;
  | 
I believe that byte[] asset needs to be changed to DataHandler asset but doing this alone doesn't seem to work.

Any pointers as to what else is required or link to an example would be very helpful.

Thanks in advance,
Ian

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4214966#4214966

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4214966



More information about the jboss-user mailing list