简体   繁体   中英

SOAP webservice upload a file

I have generated a stub file and trying to prepare a client for this request...The webservice actually takes a file as a attachment..How can I implement the client ie; attaching a file to the request.

package services.attachment.v1;

import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import javax.xml.ws.WebEndpoint;
import javax.xml.ws.WebServiceClient;
import javax.xml.ws.WebServiceException;
import javax.xml.ws.WebServiceFeature;


/**
 * This class was generated by the JAX-WS RI.
 * JAX-WS RI 2.2.9-b130926.1035
 * Generated source version: 2.2
 * 
 */
@WebServiceClient(name = "FileAttachmentService_vs0_ext", targetNamespace = "http://t.com/services/Attachment/v1.0", wsdlLocation = "https://sso-test.t.com/soatest/FileAttachmentService?wsdl")
public class FileAttachmentServiceVs0Ext
    extends Service
{

    private final static URL FILEATTACHMENTSERVICEVS0EXT_WSDL_LOCATION;
    private final static WebServiceException FILEATTACHMENTSERVICEVS0EXT_EXCEPTION;
    private final static QName FILEATTACHMENTSERVICEVS0EXT_QNAME = new QName("http://t.com/services/Attachment/v1.0", "FileAttachmentService_vs0_ext");

    static {
        URL url = null;
        WebServiceException e = null;
        try {
            url = new URL("https://sso-test.t.com/soatest/FileAttachmentService?wsdl");
        } catch (MalformedURLException ex) {
            e = new WebServiceException(ex);
        }
        FILEATTACHMENTSERVICEVS0EXT_WSDL_LOCATION = url;
        FILEATTACHMENTSERVICEVS0EXT_EXCEPTION = e;
    }

    public FileAttachmentServiceVs0Ext() {
        super(__getWsdlLocation(), FILEATTACHMENTSERVICEVS0EXT_QNAME);
    }

    public FileAttachmentServiceVs0Ext(WebServiceFeature... features) {
        super(__getWsdlLocation(), FILEATTACHMENTSERVICEVS0EXT_QNAME, features);
    }

    public FileAttachmentServiceVs0Ext(URL wsdlLocation) {
        super(wsdlLocation, FILEATTACHMENTSERVICEVS0EXT_QNAME);
    }

    public FileAttachmentServiceVs0Ext(URL wsdlLocation, WebServiceFeature... features) {
        super(wsdlLocation, FILEATTACHMENTSERVICEVS0EXT_QNAME, features);
    }

    public FileAttachmentServiceVs0Ext(URL wsdlLocation, QName serviceName) {
        super(wsdlLocation, serviceName);
    }

    public FileAttachmentServiceVs0Ext(URL wsdlLocation, QName serviceName, WebServiceFeature... features) {
        super(wsdlLocation, serviceName, features);
    }

    /**
     * 
     * @return
     *     returns AttachmentWS
     */
    @WebEndpoint(name = "FileAttachmentService_vs0_ext_port")
    public AttachmentWS getFileAttachmentServiceVs0ExtPort() {
        return super.getPort(new QName("http://t.com/services/Attachment/v1.0", "FileAttachmentService_vs0_ext_port"), AttachmentWS.class);
    }

    /**
     * 
     * @param features
     *     A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy.  Supported features not in the <code>features</code> parameter will have their default values.
     * @return
     *     returns AttachmentWS
     */
    @WebEndpoint(name = "FileAttachmentService_vs0_ext_port")
    public AttachmentWS getFileAttachmentServiceVs0ExtPort(WebServiceFeature... features) {
        return super.getPort(new QName("http://t.com/services/Attachment/v1.0", "FileAttachmentService_vs0_ext_port"), AttachmentWS.class, features);
    }

    private static URL __getWsdlLocation() {
        if (FILEATTACHMENTSERVICEVS0EXT_EXCEPTION!= null) {
            throw FILEATTACHMENTSERVICEVS0EXT_EXCEPTION;
        }
        return FILEATTACHMENTSERVICEVS0EXT_WSDL_LOCATION;
    }

}

It would not be advisable to upload a file using web service. web service is basically designed to pass small size data to process in remote machine. So, in case of large data your web service may fail miserably & lead to exceptions at client side.

Thanking You,

Bhavin Shah

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM