Cliente Web Service a partir de WSDL complexa sem especificação?

Boas pessoal…

Bem, o negócio é o seguinte… tenho que realizar um task pra pegar um job que eu to querendo muito. Ele precisa de Web Service, eu nunca havia trabalhado com Web Service então fui pesquisar…

É o seguinte, eles me mandaram um WSDL varios métodos… são muitos mesmo (esta anexo)… e achei estranho não mandarem nenhuma especificação…

Me mandaram o WSDL, uma planilha Excel, e um Power Point descrevendo a tarefa…

Tarefa:
Gerar código “client” baseado na WSDL da “msg.PM Services”. Fazer um parse no excel enviado e mandar enviar para “Service Data Structures”…

Voce precisa dos seguintes pre-requisitos para realizar essa tarefa:

[list]Eclipse
WSDL msg.PM Services
WebService Framework (e.g. AXIS)
Excel Processing Framework (Apache POI or Java Excel API)
[/list]

As seguintes colunas são genéricas (aplicáveis a todas “Rating Tables”):
? VALID_FROM (DATE)
? VALID_TO (DATE)
? OBJECT_TYPE (INTEGER)
? CODE (STRING)

As outras colunas são do tipo FLOAT/DECIMAL e podem diferenciarem-se em diferentes tabelas.

A realização dessa tarefa consiste nas seguintes sub-tarefas:

? Gerar código Client da WSDL

Voce pode escolher o framework que achar mais prático.

? Parse no Excel e alimentar pelo método do Web Service

O método ?modifyTableData? deve ser utilizado para abastecer os dados do Excel.

Sua solução deve ser flexível de dois modos:

  1. Uso de outras fontes além de Excel (ex. CVS)
  2. Uso de outro alvo além do msg.PM (e.g. DBMS)

Por favor usar Design Patterns aplicável.

Além de criar a solução, também crie uma apresentação explicando sua solução.


Ufa! Vamos lá…

Para treino, fiz varios exercicios de Web Service, e como desafio gerei um client pro WS dos correios a partir do WSDL.

Utilizei Netbeans com o WSIMPORT, Glassfish.

Agora está realmente complicado para entender essa servlet, imaginei que eles deviam mandar as especificações, como tem no correio, já que nao tem documentação nessa web service. Entao não faço a mínima idéia de por onde começar…

Tem OpenSessionType, beginTransaction, e muitos outros métodos…

Endpoint:

PMDesignerServices.java


package de.msg.pm.designer.services;

import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;


/**
 * This class was generated by the JAX-WS RI.
 * JAX-WS RI 2.2.6-1b01 
 * Generated source version: 2.2
 * 
 */
@WebService(name = "PMDesignerServices", targetNamespace = "urn:de:msg:pm:designer:services")
@XmlSeeAlso({
    ObjectFactory.class
})
public interface PMDesignerServices {


    /**
     * modify a property value
     * 
     * @param propertyName
     * @param adaptorstageID
     * @param newValue
     * @param objectID
     * @param session
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/modifyProperty")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "modifyProperty", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.ModifyProperty")
    @ResponseWrapper(localName = "modifyPropertyResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.ModifyPropertyResponse")
    public OperationResponseType modifyProperty(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "objectID", targetNamespace = "")
        String objectID,
        @WebParam(name = "adaptorstageID", targetNamespace = "")
        String adaptorstageID,
        @WebParam(name = "propertyName", targetNamespace = "")
        String propertyName,
        @WebParam(name = "newValue", targetNamespace = "")
        PropertyValueType newValue);

    /**
     * open a new session
     * 
     * @param userName
     * @param password
     * @param datasource
     * @param workspaceID
     * @return
     *     returns de.msg.pm.designer.services.OpenSessionResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/openSession")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "openSession", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.OpenSession")
    @ResponseWrapper(localName = "openSessionResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.OpenSessionResponse")
    public OpenSessionResponseType openSession(
        @WebParam(name = "userName", targetNamespace = "")
        String userName,
        @WebParam(name = "password", targetNamespace = "")
        String password,
        @WebParam(name = "datasource", targetNamespace = "")
        String datasource,
        @WebParam(name = "workspaceID", targetNamespace = "")
        String workspaceID);

    /**
     * close a session
     * 
     * @param session
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/closeSession")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "closeSession", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CloseSession")
    @ResponseWrapper(localName = "closeSessionResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CloseSessionResponse")
    public OperationResponseType closeSession(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session);

    /**
     * create a new product module
     * 
     * @param templateID
     * @param session
     * @param folderID
     * @return
     *     returns de.msg.pm.designer.services.CreateProductModuleResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/createProductModule")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "createProductModule", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CreateProductModule")
    @ResponseWrapper(localName = "createProductModuleResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CreateProductModuleResponse")
    public CreateProductModuleResponseType createProductModule(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "folderID", targetNamespace = "")
        String folderID,
        @WebParam(name = "templateID", targetNamespace = "")
        String templateID);

    /**
     * set the name of product module
     * 
     * @param objectID
     * @param session
     * @param name
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/setModuleName")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "setModuleName", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.SetModuleName")
    @ResponseWrapper(localName = "setModuleNameResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.SetModuleNameResponse")
    public OperationResponseType setModuleName(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "objectID", targetNamespace = "")
        String objectID,
        @WebParam(name = "name", targetNamespace = "")
        String name);

    /**
     * set the name of generation
     * 
     * @param generationID
     * @param objectID
     * @param session
     * @param name
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/setGenerationName")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "setGenerationName", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.SetGenerationName")
    @ResponseWrapper(localName = "setGenerationNameResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.SetGenerationNameResponse")
    public OperationResponseType setGenerationName(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "objectID", targetNamespace = "")
        String objectID,
        @WebParam(name = "generationID", targetNamespace = "")
        String generationID,
        @WebParam(name = "name", targetNamespace = "")
        String name);

    /**
     * set the name of adaptorstage
     * 
     * @param adaptorstageID
     * @param session
     * @param name
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/setAdaptorstageName")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "setAdaptorstageName", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.SetAdaptorstageName")
    @ResponseWrapper(localName = "setAdaptorstageNameResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.SetAdaptorstageNameResponse")
    public OperationResponseType setAdaptorstageName(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "adaptorstageID", targetNamespace = "")
        String adaptorstageID,
        @WebParam(name = "name", targetNamespace = "")
        String name);

    /**
     * begi a transaction
     * 
     * @param session
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/beginTransaction")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "beginTransaction", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.BeginTransaction")
    @ResponseWrapper(localName = "beginTransactionResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.BeginTransactionResponse")
    public OperationResponseType beginTransaction(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session);

    /**
     * rollback a transaction
     * 
     * @param session
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/rollbackTransaction")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "rollbackTransaction", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.RollbackTransaction")
    @ResponseWrapper(localName = "rollbackTransactionResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.RollbackTransactionResponse")
    public OperationResponseType rollbackTransaction(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session);

    /**
     * commit a transaction
     * 
     * @param session
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/commitTransaction")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "commitTransaction", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CommitTransaction")
    @ResponseWrapper(localName = "commitTransactionResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CommitTransactionResponse")
    public OperationResponseType commitTransaction(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session);

    /**
     * delete a product module
     * 
     * @param objectID
     * @param session
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/deleteProductModule")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "deleteProductModule", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.DeleteProductModule")
    @ResponseWrapper(localName = "deleteProductModuleResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.DeleteProductModuleResponse")
    public OperationResponseType deleteProductModule(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "objectID", targetNamespace = "")
        String objectID);

    /**
     * create a new generation
     * 
     * @param objectID
     * @param session
     * @return
     *     returns de.msg.pm.designer.services.CreateGenerationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/createGeneration")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "createGeneration", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CreateGeneration")
    @ResponseWrapper(localName = "createGenerationResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CreateGenerationResponse")
    public CreateGenerationResponseType createGeneration(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "objectID", targetNamespace = "")
        String objectID);

    /**
     * create a new adaptorstage
     * 
     * @param generationID
     * @param templateID
     * @param objectID
     * @param session
     * @return
     *     returns de.msg.pm.designer.services.CreateAdaptorstageResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/createAdaptorstage")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "createAdaptorstage", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CreateAdaptorstage")
    @ResponseWrapper(localName = "createAdaptorstageResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CreateAdaptorstageResponse")
    public CreateAdaptorstageResponseType createAdaptorstage(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "objectID", targetNamespace = "")
        String objectID,
        @WebParam(name = "generationID", targetNamespace = "")
        String generationID,
        @WebParam(name = "templateID", targetNamespace = "")
        String templateID);

    /**
     * create a relation
     * 
     * @param adaptorstageID
     * @param modelRelationID
     * @param objectID
     * @param session
     * @param targetObjectID
     * @return
     *     returns de.msg.pm.designer.services.CreateRelationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/createRelation")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "createRelation", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CreateRelation")
    @ResponseWrapper(localName = "createRelationResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CreateRelationResponse")
    public CreateRelationResponseType createRelation(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "objectID", targetNamespace = "")
        String objectID,
        @WebParam(name = "adaptorstageID", targetNamespace = "")
        String adaptorstageID,
        @WebParam(name = "modelRelationID", targetNamespace = "")
        String modelRelationID,
        @WebParam(name = "targetObjectID", targetNamespace = "")
        String targetObjectID);

    /**
     * delete a relation
     * 
     * @param adaptorstageID
     * @param objectID
     * @param session
     * @param relationID
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/deleteRelation")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "deleteRelation", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.DeleteRelation")
    @ResponseWrapper(localName = "deleteRelationResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.DeleteRelationResponse")
    public OperationResponseType deleteRelation(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "objectID", targetNamespace = "")
        String objectID,
        @WebParam(name = "adaptorstageID", targetNamespace = "")
        String adaptorstageID,
        @WebParam(name = "relationID", targetNamespace = "")
        String relationID);

    /**
     * modify an adaptorstage
     * 
     * @param adaptorstageID
     * @param generationID
     * @param objectID
     * @param session
     * @param adaptorstageData
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/modifyAdaptorstage")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "modifyAdaptorstage", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.ModifyAdaptorstage")
    @ResponseWrapper(localName = "modifyAdaptorstageResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.ModifyAdaptorstageResponse")
    public OperationResponseType modifyAdaptorstage(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "objectID", targetNamespace = "")
        String objectID,
        @WebParam(name = "generationID", targetNamespace = "")
        String generationID,
        @WebParam(name = "adaptorstageID", targetNamespace = "")
        String adaptorstageID,
        @WebParam(name = "adaptorstageData", targetNamespace = "")
        AdaptorstageType adaptorstageData);

    /**
     * modify a generation
     * 
     * @param generationID
     * @param objectID
     * @param session
     * @param generationData
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/modifyGeneration")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "modifyGeneration", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.ModifyGeneration")
    @ResponseWrapper(localName = "modifyGenerationResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.ModifyGenerationResponse")
    public OperationResponseType modifyGeneration(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "objectID", targetNamespace = "")
        String objectID,
        @WebParam(name = "generationID", targetNamespace = "")
        String generationID,
        @WebParam(name = "generationData", targetNamespace = "")
        GenerationType generationData);

    /**
     * delete a generation
     * 
     * @param generationID
     * @param objectID
     * @param session
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/deleteGeneration")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "deleteGeneration", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.DeleteGeneration")
    @ResponseWrapper(localName = "deleteGenerationResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.DeleteGenerationResponse")
    public OperationResponseType deleteGeneration(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "objectID", targetNamespace = "")
        String objectID,
        @WebParam(name = "generationID", targetNamespace = "")
        String generationID);

    /**
     * delete an adaptorstage
     * 
     * @param adaptorstageID
     * @param session
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/deleteAdaptorstage")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "deleteAdaptorstage", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.DeleteAdaptorstage")
    @ResponseWrapper(localName = "deleteAdaptorstageResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.DeleteAdaptorstageResponse")
    public OperationResponseType deleteAdaptorstage(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "adaptorstageID", targetNamespace = "")
        String adaptorstageID);

    /**
     * modify a relation
     * 
     * @param adaptorstageID
     * @param objectID
     * @param session
     * @param relationData
     * @param relationID
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/modifyRelation")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "modifyRelation", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.ModifyRelation")
    @ResponseWrapper(localName = "modifyRelationResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.ModifyRelationResponse")
    public OperationResponseType modifyRelation(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "objectID", targetNamespace = "")
        String objectID,
        @WebParam(name = "adaptorstageID", targetNamespace = "")
        String adaptorstageID,
        @WebParam(name = "relationID", targetNamespace = "")
        String relationID,
        @WebParam(name = "relationData", targetNamespace = "")
        RelationType relationData);

    /**
     * find an identifer of product module
     * 
     * @param objectName
     * @param session
     * @param className
     * @return
     *     returns de.msg.pm.designer.services.FindIDResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/findObjectID")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "findObjectID", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.FindObjectID")
    @ResponseWrapper(localName = "findObjectIDResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.FindObjectIDResponse")
    public FindIDResponseType findObjectID(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "className", targetNamespace = "")
        String className,
        @WebParam(name = "objectName", targetNamespace = "")
        String objectName);

    /**
     * find an identifer of class
     * 
     * @param session
     * @param className
     * @return
     *     returns de.msg.pm.designer.services.FindIDResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/findClassID")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "findClassID", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.FindClassID")
    @ResponseWrapper(localName = "findClassIDResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.FindClassIDResponse")
    public FindIDResponseType findClassID(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "className", targetNamespace = "")
        String className);

    /**
     * find an identifer of generation
     * 			
     * 
     * @param objectName
     * @param session
     * @param className
     * @param generationName
     * @return
     *     returns de.msg.pm.designer.services.FindIDResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/findGenerationID")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "findGenerationID", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.FindGenerationID")
    @ResponseWrapper(localName = "findGenerationIDResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.FindGenerationIDResponse")
    public FindIDResponseType findGenerationID(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "className", targetNamespace = "")
        String className,
        @WebParam(name = "objectName", targetNamespace = "")
        String objectName,
        @WebParam(name = "generationName", targetNamespace = "")
        String generationName);

    /**
     * find an identifer of adapter stage 
     * 			
     * 
     * @param objectName
     * @param session
     * @param adaptStageName
     * @param className
     * @param generationName
     * @return
     *     returns de.msg.pm.designer.services.FindIDResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/findAdaptStageID")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "findAdaptStageID", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.FindAdaptStageID")
    @ResponseWrapper(localName = "findAdaptStageIDResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.FindAdaptStageIDResponse")
    public FindIDResponseType findAdaptStageID(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "className", targetNamespace = "")
        String className,
        @WebParam(name = "objectName", targetNamespace = "")
        String objectName,
        @WebParam(name = "generationName", targetNamespace = "")
        String generationName,
        @WebParam(name = "adaptStageName", targetNamespace = "")
        String adaptStageName);

    /**
     * find an identifer of product module folder 
     * 			
     * 
     * @param session
     * @param libraryName
     * @param className
     * @param fullPath
     * @return
     *     returns de.msg.pm.designer.services.FindIDResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/findFolderID")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "findFolderID", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.FindFolderID")
    @ResponseWrapper(localName = "findFolderIDResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.FindFolderIDResponse")
    public FindIDResponseType findFolderID(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "className", targetNamespace = "")
        String className,
        @WebParam(name = "fullPath", targetNamespace = "")
        String fullPath,
        @WebParam(name = "libraryName", targetNamespace = "")
        String libraryName);

    /**
     * find an identifer of product module template 
     * 			
     * 
     * @param session
     * @param className
     * @param templateName
     * @return
     *     returns de.msg.pm.designer.services.FindIDResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/findTemplateID")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "findTemplateID", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.FindTemplateID")
    @ResponseWrapper(localName = "findTemplateIDResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.FindTemplateIDResponse")
    public FindIDResponseType findTemplateID(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "className", targetNamespace = "")
        String className,
        @WebParam(name = "templateName", targetNamespace = "")
        String templateName);

    /**
     * find an identifer of model relation between two classes 
     * 			
     * 
     * @param destClassID
     * @param session
     * @param modelRelationName
     * @param sourceClassID
     * @return
     *     returns de.msg.pm.designer.services.FindIDResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/findModelRelationID")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "findModelRelationID", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.FindModelRelationID")
    @ResponseWrapper(localName = "findModelRelationIDResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.FindModelRelationIDResponse")
    public FindIDResponseType findModelRelationID(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "sourceClassID", targetNamespace = "")
        String sourceClassID,
        @WebParam(name = "destClassID", targetNamespace = "")
        String destClassID,
        @WebParam(name = "modelRelationName", targetNamespace = "")
        String modelRelationName);

    /**
     * get a type of property (format and dimension) 
     * 			
     * 
     * @param propertyName
     * @param objectName
     * @param session
     * @param adaptStageName
     * @param className
     * @param generationName
     * @return
     *     returns de.msg.pm.designer.services.PropertyTypeResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/getPropertyType")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "getPropertyType", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.GetPropertyType")
    @ResponseWrapper(localName = "getPropertyTypeResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.GetPropertyTypeResponse")
    public PropertyTypeResponseType getPropertyType(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "className", targetNamespace = "")
        String className,
        @WebParam(name = "objectName", targetNamespace = "")
        String objectName,
        @WebParam(name = "propertyName", targetNamespace = "")
        String propertyName,
        @WebParam(name = "generationName", targetNamespace = "")
        String generationName,
        @WebParam(name = "adaptStageName", targetNamespace = "")
        String adaptStageName);

    /**
     * get relative path from base folder to given template
     * 
     * @param templateID
     * @param session
     * @return
     *     returns de.msg.pm.designer.services.GetFolderPathResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/getFolderPath")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "getFolderPath", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.GetFolderPath")
    @ResponseWrapper(localName = "getFolderPathResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.GetFolderPathResponse")
    public GetFolderPathResponseType getFolderPath(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "templateID", targetNamespace = "")
        String templateID);

    /**
     * get restriction of the given property
     * 
     * @param propertyName
     * @param adaptorstageID
     * @param objectID
     * @param session
     * @return
     *     returns de.msg.pm.designer.services.GetPropertyRestrictionResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/getPropertyRestriction")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "getPropertyRestriction", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.GetPropertyRestriction")
    @ResponseWrapper(localName = "getPropertyRestrictionResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.GetPropertyRestrictionResponse")
    public GetPropertyRestrictionResponseType getPropertyRestriction(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "objectID", targetNamespace = "")
        String objectID,
        @WebParam(name = "adaptorstageID", targetNamespace = "")
        String adaptorstageID,
        @WebParam(name = "propertyName", targetNamespace = "")
        String propertyName);

    /**
     * modify restriction of the given property
     * 
     * @param propertyName
     * @param adaptorstageID
     * @param objectID
     * @param restriction
     * @param session
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/modifyPropertyRestriction")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "modifyPropertyRestriction", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.ModifyPropertyRestriction")
    @ResponseWrapper(localName = "modifyPropertyRestrictionResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.ModifyPropertyRestrictionResponse")
    public OperationResponseType modifyPropertyRestriction(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "objectID", targetNamespace = "")
        String objectID,
        @WebParam(name = "adaptorstageID", targetNamespace = "")
        String adaptorstageID,
        @WebParam(name = "propertyName", targetNamespace = "")
        String propertyName,
        @WebParam(name = "restriction", targetNamespace = "")
        PropertyRestrictionType restriction);

    /**
     * modify values and/or restrictions of a list of properties 
     * optional (flag): replace existing properties 
     * 
     * 
     * 
     * @param objectKey
     * @param session
     * @param propertyList
     * @param replaceAll
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/modifyPropertyList")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "modifyPropertyList", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.ModifyPropertyList")
    @ResponseWrapper(localName = "modifyPropertyListResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.ModifyPropertyListResponse")
    public OperationResponseType modifyPropertyList(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "objectKey", targetNamespace = "")
        ObjectKeyType objectKey,
        @WebParam(name = "propertyList", targetNamespace = "")
        List<PropertyDataType> propertyList,
        @WebParam(name = "replaceAll", targetNamespace = "")
        boolean replaceAll);

    /**
     * create a product module and add a given list of properties; 
     * only properties existing in template get overwritten and filled with this new values
     * 
     * 
     * @param productModuleName
     * @param session
     * @param propertyList
     * @param className
     * @param folderID
     * @param templateName
     * @return
     *     returns de.msg.pm.designer.services.CreateProductModuleExResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/createProductModuleEx")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "createProductModuleEx", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CreateProductModuleEx")
    @ResponseWrapper(localName = "createProductModuleExResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CreateProductModuleExResponse")
    public CreateProductModuleExResponseType createProductModuleEx(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "className", targetNamespace = "")
        String className,
        @WebParam(name = "productModuleName", targetNamespace = "")
        String productModuleName,
        @WebParam(name = "folderID", targetNamespace = "")
        String folderID,
        @WebParam(name = "templateName", targetNamespace = "")
        String templateName,
        @WebParam(name = "propertyList", targetNamespace = "")
        List<PropertyDataType> propertyList);

    /**
     * create an adapter stage and add a given list of properties
     * on demand create missing generation and/or product module;
     * only properties existing in template get overwritten and filled with this new values
     * 
     * 
     * @param adaptorstage
     * @param productModuleName
     * @param session
     * @param propertyList
     * @param className
     * @param generation
     * @param folderID
     * @param templateName
     * @return
     *     returns de.msg.pm.designer.services.CreateAdaptorStageExResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/createAdaptorStageEx")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "createAdaptorStageEx", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CreateAdaptorStageEx")
    @ResponseWrapper(localName = "createAdaptorStageExResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CreateAdaptorStageExResponse")
    public CreateAdaptorStageExResponseType createAdaptorStageEx(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "className", targetNamespace = "")
        String className,
        @WebParam(name = "productModuleName", targetNamespace = "")
        String productModuleName,
        @WebParam(name = "folderID", targetNamespace = "")
        String folderID,
        @WebParam(name = "templateName", targetNamespace = "")
        String templateName,
        @WebParam(name = "generation", targetNamespace = "")
        GenerationType generation,
        @WebParam(name = "adaptorstage", targetNamespace = "")
        AdaptorstageType adaptorstage,
        @WebParam(name = "propertyList", targetNamespace = "")
        List<PropertyDataType> propertyList);

    /**
     * delete a product module specified by object key 
     * 
     * 
     * @param objectKey
     * @param session
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/deleteProductModuleByObjectKey")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "deleteProductModuleByObjectKey", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.DeleteProductModuleByObjectKey")
    @ResponseWrapper(localName = "deleteProductModuleByObjectKeyResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.DeleteProductModuleByObjectKeyResponse")
    public OperationResponseType deleteProductModuleByObjectKey(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "objectKey", targetNamespace = "")
        ObjectKeyType objectKey);

    /**
     * delete an adapter stage specified by object key 
     * on demand (if it is the last one) delete generation and/or product module 
     * 
     * 
     * @param objectKey
     * @param session
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/deleteAdaptorStageByObjectKey")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "deleteAdaptorStageByObjectKey", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.DeleteAdaptorStageByObjectKey")
    @ResponseWrapper(localName = "deleteAdaptorStageByObjectKeyResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.DeleteAdaptorStageByObjectKeyResponse")
    public OperationResponseType deleteAdaptorStageByObjectKey(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "objectKey", targetNamespace = "")
        ObjectKeyType objectKey);

    /**
     * create relations on a product module specified by object key
     * optional (flag): replace existing relations 
     * 
     * 
     * @param objectKey
     * @param session
     * @param replaceAll
     * @param relationList
     * @return
     *     returns de.msg.pm.designer.services.CreateRelationsResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/createRelations")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "createRelations", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CreateRelations")
    @ResponseWrapper(localName = "createRelationsResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CreateRelationsResponse")
    public CreateRelationsResponseType createRelations(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "objectKey", targetNamespace = "")
        ObjectKeyType objectKey,
        @WebParam(name = "relationList", targetNamespace = "")
        List<RelationDescriptionType> relationList,
        @WebParam(name = "replaceAll", targetNamespace = "")
        boolean replaceAll);

    /**
     * delete relation on product module specified by object key 
     * 
     * 
     * @param objectKey
     * @param session
     * @param relationKeyList
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/deleteRelations")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "deleteRelations", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.DeleteRelations")
    @ResponseWrapper(localName = "deleteRelationsResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.DeleteRelationsResponse")
    public OperationResponseType deleteRelations(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "objectKey", targetNamespace = "")
        ObjectKeyType objectKey,
        @WebParam(name = "relationKeyList", targetNamespace = "")
        List<RelationKeyType> relationKeyList);

    /**
     * modify an existing internal table, insert, update and delete given lists of values
     * 
     * @param session
     * @param name
     * @param addRows
     * @param updRows
     * @param delRows
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/modifyTableData")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "modifyTableData", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.ModifyTableData")
    @ResponseWrapper(localName = "modifyTableDataResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.ModifyTableDataResponse")
    public OperationResponseType modifyTableData(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "name", targetNamespace = "")
        String name,
        @WebParam(name = "delRows", targetNamespace = "")
        TableRowListType delRows,
        @WebParam(name = "updRows", targetNamespace = "")
        TableModifyRowType updRows,
        @WebParam(name = "addRows", targetNamespace = "")
        TableRowListType addRows);

    /**
     * modify an existing enumeration, insert, update and delete given lists of values
     * 
     * @param updValues
     * @param session
     * @param name
     * @param replaceAll
     * @param delValues
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/modifyEnumeration")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "modifyEnumeration", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.ModifyEnumeration")
    @ResponseWrapper(localName = "modifyEnumerationResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.ModifyEnumerationResponse")
    public OperationResponseType modifyEnumeration(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "name", targetNamespace = "")
        String name,
        @WebParam(name = "delValues", targetNamespace = "")
        List<String> delValues,
        @WebParam(name = "updValues", targetNamespace = "")
        List<EnumDataType> updValues,
        @WebParam(name = "replaceAll", targetNamespace = "")
        boolean replaceAll);

    /**
     * request information about a tables logical layout
     * 
     * @param session
     * @param name
     * @return
     *     returns de.msg.pm.designer.services.GetTableLayoutResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/getTableLayout")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "getTableLayout", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.GetTableLayout")
    @ResponseWrapper(localName = "getTableLayoutResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.GetTableLayoutResponse")
    public GetTableLayoutResponseType getTableLayout(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "name", targetNamespace = "")
        String name);

    /**
     * request information about a tables logical layout and data
     * 
     * @param session
     * @param name
     * @return
     *     returns de.msg.pm.designer.services.GetTableDataResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/getTableData")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "getTableData", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.GetTableData")
    @ResponseWrapper(localName = "getTableDataResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.GetTableDataResponse")
    public GetTableDataResponseType getTableData(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "name", targetNamespace = "")
        String name);

    /**
     * modify a property tag
     * 
     * @param propertyName
     * @param adaptorstageID
     * @param objectID
     * @param session
     * @param tagID
     * @param newTagValue
     * @return
     *     returns de.msg.pm.designer.services.OperationResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/modifyPropertyTag")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "modifyPropertyTag", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.ModifyPropertyTag")
    @ResponseWrapper(localName = "modifyPropertyTagResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.ModifyPropertyTagResponse")
    public OperationResponseType modifyPropertyTag(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "objectID", targetNamespace = "")
        String objectID,
        @WebParam(name = "adaptorstageID", targetNamespace = "")
        String adaptorstageID,
        @WebParam(name = "propertyName", targetNamespace = "")
        String propertyName,
        @WebParam(name = "tagID", targetNamespace = "")
        String tagID,
        @WebParam(name = "newTagValue", targetNamespace = "")
        String newTagValue);

    /**
     * create an internal table, insert layout and data
     * 
     * 
     * @param tableColumns
     * @param libraryID
     * @param session
     * @param tableName
     * @param tableValue
     * @param folderID
     * @return
     *     returns de.msg.pm.designer.services.CreateTableExResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/createTableEx")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "createTableEx", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CreateTableEx")
    @ResponseWrapper(localName = "createTableExResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CreateTableExResponse")
    public CreateTableExResponseType createTableEx(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "libraryID", targetNamespace = "")
        String libraryID,
        @WebParam(name = "folderID", targetNamespace = "")
        String folderID,
        @WebParam(name = "tableName", targetNamespace = "")
        String tableName,
        @WebParam(name = "tableColumns", targetNamespace = "")
        List<TableLayoutColumnType> tableColumns,
        @WebParam(name = "tableValue", targetNamespace = "")
        List<TableRowListType> tableValue);

    /**
     * create an enumeration insert typ and data
     * 
     * @param libraryID
     * @param session
     * @param enumName
     * @param enumLayout
     * @param enumType
     * @param enumValues
     * @param folderID
     * @return
     *     returns de.msg.pm.designer.services.CreateEnumExResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/createEnumEx")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "createEnumEx", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CreateEnumEx")
    @ResponseWrapper(localName = "createEnumExResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.CreateEnumExResponse")
    public CreateEnumExResponseType createEnumEx(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "libraryID", targetNamespace = "")
        String libraryID,
        @WebParam(name = "folderID", targetNamespace = "")
        String folderID,
        @WebParam(name = "enumName", targetNamespace = "")
        String enumName,
        @WebParam(name = "enumType", targetNamespace = "")
        EnumType enumType,
        @WebParam(name = "enumLayout", targetNamespace = "")
        List<String> enumLayout,
        @WebParam(name = "enumValues", targetNamespace = "")
        List<EnumDataType> enumValues);

    /**
     * find an identifer of library
     * 
     * @param session
     * @param libraryName
     * @return
     *     returns de.msg.pm.designer.services.FindIDResponseType
     */
    @WebMethod(action = "urn:de:msg:pm:designer:services/findLibraryID")
    @WebResult(name = "out", targetNamespace = "")
    @RequestWrapper(localName = "findLibraryID", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.FindLibraryID")
    @ResponseWrapper(localName = "findLibraryIDResponse", targetNamespace = "urn:de:msg:pm:designer:services", className = "de.msg.pm.designer.services.FindLibraryIDResponse")
    public FindIDResponseType findLibraryID(
        @WebParam(name = "session", targetNamespace = "")
        SessionType session,
        @WebParam(name = "libraryName", targetNamespace = "")
        String libraryName);

}

PMDesignerServices_Services.java

package de.msg.pm.designer.services;

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.6-1b01 
 * Generated source version: 2.2
 * 
 */
@WebServiceClient(name = "PMDesignerServices", targetNamespace = "urn:de:msg:pm:designer:services", wsdlLocation = "http://localhost:8080/MsgWS/PMDesignerServices?WSDL")
public class PMDesignerServices_Service
    extends Service
{

    private final static URL PMDESIGNERSERVICES_WSDL_LOCATION;
    private final static WebServiceException PMDESIGNERSERVICES_EXCEPTION;
    private final static QName PMDESIGNERSERVICES_QNAME = new QName("urn:de:msg:pm:designer:services", "PMDesignerServices");

    static {
        URL url = null;
        WebServiceException e = null;
        try {
            url = new URL("http://localhost:8080/MsgWS/PMDesignerServices?WSDL");
        } catch (MalformedURLException ex) {
            e = new WebServiceException(ex);
        }
        PMDESIGNERSERVICES_WSDL_LOCATION = url;
        PMDESIGNERSERVICES_EXCEPTION = e;
    }

    public PMDesignerServices_Service() {
        super(__getWsdlLocation(), PMDESIGNERSERVICES_QNAME);
    }

    public PMDesignerServices_Service(WebServiceFeature... features) {
        super(__getWsdlLocation(), PMDESIGNERSERVICES_QNAME, features);
    }

    public PMDesignerServices_Service(URL wsdlLocation) {
        super(wsdlLocation, PMDESIGNERSERVICES_QNAME);
    }

    public PMDesignerServices_Service(URL wsdlLocation, WebServiceFeature... features) {
        super(wsdlLocation, PMDESIGNERSERVICES_QNAME, features);
    }

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

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

    /**
     * 
     * @return
     *     returns PMDesignerServices
     */
    @WebEndpoint(name = "PMDesignerServices")
    public PMDesignerServices getPMDesignerServices() {
        return super.getPort(new QName("urn:de:msg:pm:designer:services", "PMDesignerServices"), PMDesignerServices.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 PMDesignerServices
     */
    @WebEndpoint(name = "PMDesignerServices")
    public PMDesignerServices getPMDesignerServices(WebServiceFeature... features) {
        return super.getPort(new QName("urn:de:msg:pm:designer:services", "PMDesignerServices"), PMDesignerServices.class, features);
    }

    private static URL __getWsdlLocation() {
        if (PMDESIGNERSERVICES_EXCEPTION!= null) {
            throw PMDESIGNERSERVICES_EXCEPTION;
        }
        return PMDESIGNERSERVICES_WSDL_LOCATION;
    }

}

Alguém pode me dar alguma diretriz? Não procuro respostas prontas, procuro aprender…

Obrigado mesmo!

Bem, vamos lá!
Comecei algo aqui, mas qualquer coisa que eu tento, dá esse erro:

wsimport-client-generate:
Compiling 1 source file to /Users/macbokpro17pol/NetBeansProjects/MsgWSClient/build/classes
compile-single:
run-single:
[color=red]javax.xml.ws.soap.SOAPFaultException: Not implemented yet.
at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:111)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
at $Proxy32.modifyTableData(Unknown Source)
at br.com.christian.client.MsgWSClientTest.init(MsgWSClientTest.java:35)
at br.com.christian.client.MsgWSClientTest.main(MsgWSClientTest.java:22)[/color]
Java Result: 1
BUILD SUCCESSFUL (total time: 16 seconds)

A classe:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.christian.client;

import de.msg.pm.designer.services.OperationResponseType;
import de.msg.pm.designer.services.PMDesignerServices;
import de.msg.pm.designer.services.PMDesignerServices_Service;
import de.msg.pm.designer.services.SessionType;
import de.msg.pm.designer.services.TableRowListType;
import javax.xml.ws.soap.SOAPFaultException;

/**
 *
 * @author macbokpro17pol
 */
public class MsgWSClientTest {
    
    public static void main(String args[]) {
        MsgWSClientTest clientTest = new MsgWSClientTest();
        clientTest.init();
    }
    
    public void init() {
        try {
            
            PMDesignerServices services = new PMDesignerServices_Service().getPMDesignerServices();
            //PMDesignerServices_Service services2 = new PMDesignerServices_Service();
            
            SessionType session = new SessionType(); // devo setar sessionTypeID e sessionTypeToken?? da onde?
            
            TableRowListType addRows = new TableRowListType();
            
            OperationResponseType responseType = services.modifyTableData(session, "OBJECT_TYPE", null, null, addRows);
         
            System.out.println(responseType.getResultMessage());
            
        } catch (SOAPFaultException e) {
            e.printStackTrace();
            System.exit(1);
        }
    }