在scala jax-ws web-service中获取env-entry

时间:2011-11-15 14:00:30

标签: scala soap jax-ws

我正在使用jax-ws和Scala实现快速而脏的SOAP Web服务。 我有端点接口的特性和实现该特征的类。 一切都很好,直到我试图从web.xml获取evn-entries

我这样做: 在web.xml中:

<env-entry>
    <env-entry-name>name</env-entry-name>
    <env-entry-value>value</env-entry-value>
    <env-entry-type>java.lang.String</env-entry-type>
</env-entry>

在代码中:

val context = new InitialContext().asInstanceOf[Context]
val value = context.lookup("java:comp/env/name")

我得到NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您似乎需要在属性“java.naming.factory.initial”中为初始上下文工厂指定一个类。您可以在HashTable对象中指定它并将其传递给InitialContext。

Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,  
    "your initial context factory class name here");

val context = new InitialContext(env)