2017-05-11 3 views
0

IBM Notes에 Java 웹 제공자가 있습니다. 나는 AgentBase를 통해 현재 NotesSession에 액세스하려고 : IBM Notes 웹 - 제공자의 현재 세션 액세스

import lotus.domino.AgentBase; 
import lotus.domino.Session; 
import lotus.domino.AgentContext; 
import lotus.domino.Database; 
import lotus.domino.NotesException; 
import lotus.domino.Document; 

public class HwProvider extends AgentBase{ 
    public String createOrder (String subject, String fio){ 
     try { 
      Session session = getSession(); 
      AgentContext agentContext = session.getAgentContext(); 
      Database database = agentContext.getCurrentDatabase(); 

      return subject + " " + fio; 
     }catch (Exception e) { 
      return e.toString(); 
     } 
    } 
} 

나는이 오류가 SOAP의 UI에서 테스트하는 동안 :

<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:Body> 
     <createOrderReturn xmlns="urn:DefaultNamespace">java.lang.NullPointerException</createOrderReturn> 
    </soapenv:Body> 
</soapenv:Envelope> 

어떻게 현재의 세션에 액세스 할 수 있습니까?

답변

1

WS 제공자 내에서 AgentBase을 참조 할 필요가 없습니다. 현재 세션을 얻으려면 Session s = WebServiceBase.getCurrentSession();에 의지 할 수 있습니다.