WSDL-Web Service Consumer

Тема в разделе "Lotus + Java + LS2J", создана пользователем susinmn, 14 окт 2010.

  1. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    Втянул wsdl через Web Service Consumer.
    Как теперь подключить эту библиотеку в java-агент?
    Можно ли работать с библиотекой, если ее подключить к ls-агенту (Use "usr")?

    Заранее спасибо.

    Update: подключил библиотеку у ls-агенту
    <!--shcode--><pre><code class='ls'>Option Public
    Use "usr"
    Uselsx "*javacon"[/CODE]
    в агенте
    <!--shcode--><pre><code class='ls'>Sub Initialize
    Dim myurl As JAVACLASS
    Dim myurlconnection As JAVACLASS
    Dim URL As JavaObject
    Dim URLConnection As JavaObject
    Set jsess = New JAVASESSION()
    Set myurl = jsess.GetClass("WsSoapHttpStub")[/CODE]
    Error: ClassNotFound

    Update2: GetClass получилось так (т.е. нужно полный путь прописывать)
    Set myurl = jsess.GetClass("rcv6/Ws_wsdl/WsSoapHttpStub")
     

    Вложения:

    • 14.10.jpg
      14.10.jpg
      Размер файла:
      119,2 КБ
      Просмотров:
      82
  2. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    если прописали пакедж - то, разумеется, нужен полный путь
     
  3. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    теперь не получается создать объект класса(
    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">код в LS</div></div><div class="sp-body"><div class="sp-content"><!--shcode--><pre><code class='ls'>Dim Locator As JAVACLASS
    Dim SoapHttp As JAVACLASS
    Dim LocatorObj As JavaObject
    Dim SoapHttpObj As JavaObject
    Set jsess = New JAVASESSION()
    Set Locator = jsess.GetClass("rcv6/Ws_wsdl/Ws_ServiceLocator")
    Set LocatorObj=Locator.CreateObject()[/CODE]
    Error: Java constructor failed to execute

    Вот
    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">класс ServiceLocator</div></div><div class="sp-body"><div class="sp-content"><!--shcode--><pre><code class='java'>package rcv6.Ws_wsdl;

    public class Ws_ServiceLocator extends lotus.domino.websvc.client.Service implements rcv6.Ws_wsdl.Ws_Service {

    // The WSDD service name defaults to the port name.
    private final java.lang.String WsSoapHttpPortWSDDServiceName = "ws.wsSoapHttpPort";

    // Use to get a proxy class for wsSoapHttpPort
    private final java.lang.String wsSoapHttpPort_address = "http://172.16.3.109:7777/usr-views-ws-context-root/wsSoapHttpPort";

    public Ws_ServiceLocator() {
    super("HttpRcv6WsWsdlws");
    }

    public java.lang.String getWsSoapHttpPortAddress() {
    return wsSoapHttpPort_address;
    }

    public rcv6.Ws_wsdl.Ws_Port getWsSoapHttpPort() throws javax.xml.rpc.ServiceException {
    java.net.URL endpoint;
    try {
    endpoint = new java.net.URL(wsSoapHttpPort_address);
    }
    catch (java.net.MalformedURLException e) {
    throw new javax.xml.rpc.ServiceException(e);
    }
    return getWsSoapHttpPort(endpoint);
    }

    public rcv6.Ws_wsdl.Ws_Port getWsSoapHttpPort(java.net.URL portAddress) throws javax.xml.rpc.ServiceException {
    try {
    rcv6.Ws_wsdl.WsSoapHttpStub _stub = new rcv6.Ws_wsdl.WsSoapHttpStub(portAddress, this);
    _stub.setPortName(WsSoapHttpPortWSDDServiceName);
    return _stub;
    }
    catch (lotus.domino.types.Fault e) {
    return null;
    }
    }

    /**
    * For the given interface, get the stub implementation.
    * If this service has no port for the given interface,
    * then ServiceException is thrown.
    */
    public java.rmi.Remote getPort(Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException {
    try {
    if (rcv6.Ws_wsdl.Ws_Port.class.isAssignableFrom(serviceEndpointInterface)) {
    rcv6.Ws_wsdl.WsSoapHttpStub _stub = new rcv6.Ws_wsdl.WsSoapHttpStub(new java.net.URL(wsSoapHttpPort_address), this);
    _stub.setPortName(WsSoapHttpPortWSDDServiceName);
    return _stub;
    }
    }
    catch (java.lang.Throwable t) {
    throw new javax.xml.rpc.ServiceException(t);
    }
    throw new javax.xml.rpc.ServiceException("There is no stub implementation for the interface: " + (serviceEndpointInterface == null ? "null" : serviceEndpointInterface.getName()));
    }

    /**
    * For the given interface, get the stub implementation.
    * If this service has no port for the given interface,
    * then ServiceException is thrown.
    */
    public java.rmi.Remote getPort(javax.xml.namespace.QName portName, Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException {
    if (portName == null) {
    return getPort(serviceEndpointInterface);
    }
    String inputPortName = portName.getLocalPart();
    if ("wsSoapHttpPort".equals(inputPortName)) {
    return getWsSoapHttpPort();
    }
    else {
    java.rmi.Remote _stub = getPort(serviceEndpointInterface);
    ((lotus.domino.websvc.client.Stub) _stub).setPortName(portName);
    return _stub;
    }
    }

    public javax.xml.namespace.QName getServiceName() {
    return new javax.xml.namespace.QName("http://rcv6/Ws.wsdl", "ws");
    }

    private java.util.HashSet ports = null;

    public java.util.Iterator getPorts() {
    if (ports == null) {
    ports = new java.util.HashSet();
    ports.add(new javax.xml.namespace.QName("wsSoapHttpPort"));
    }
    return ports.iterator();
    }

    }[/CODE]
     
  4. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    смотрите джава консоль
     
  5. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    Вот эту конструкцию
    Код (Text):
    public Ws_ServiceLocator() {
    super("HttpRcv6WsWsdlws");
    }
    меняю на:
    Код (Text):
    public Ws_ServiceLocator() {
    try {
    super("HttpRcv6WsWsdlws");
    }
    catch (java.lang.Throwable e) {
    e.printStackTrace();
    }
    }
    В итоге ловлю
     

    Вложения:

    • 15.10_2.jpg
      15.10_2.jpg
      Размер файла:
      29,4 КБ
      Просмотров:
      50
  6. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    я не знаю какие конструкторы присут. у super
    ругацо на отсутствие метода
    советую отлаживать в нормальных инструментах, а не в убогом доминошном редакторе
     
Загрузка...

Поделиться этой страницей