Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将参数传递到另一个类/项目的Web服务_Java_Eclipse_Web Services_Struts_Axis2 - Fatal编程技术网

Java 将参数传递到另一个类/项目的Web服务

Java 将参数传递到另一个类/项目的Web服务,java,eclipse,web-services,struts,axis2,Java,Eclipse,Web Services,Struts,Axis2,我已经创建了一个web服务() 我使用自下而上的方法进行创建(eclipse中的axis2),在web服务中,我假设有一个名为hello的方法来返回字符串 我想问的是,我想使用web服务的原因是,我有3个应用程序(eclipse中的不同项目)需要链接,可以将参数传递给web服务,然后另一个项目可以获得返回值 我已经创建了ws-server和ws-client,但在客户机中,它只能使用该方法并直接从自身获取返回的参数,我想做的是让另一个web应用程序能够访问返回的值 例如,web应用程序1向web

我已经创建了一个web服务()

我使用自下而上的方法进行创建(eclipse中的axis2),在web服务中,我假设有一个名为hello的方法来返回字符串

我想问的是,我想使用web服务的原因是,我有3个应用程序(eclipse中的不同项目)需要链接,可以将参数传递给web服务,然后另一个项目可以获得返回值

我已经创建了ws-server和ws-client,但在客户机中,它只能使用该方法并直接从自身获取返回的参数,我想做的是让另一个web应用程序能够访问返回的值

例如,web应用程序1向web服务发送字符串,然后web应用程序2可以从web服务中的函数获取返回值

这可能吗?在将来,我希望将其用于在应用程序之间传递会话,这样我的应用程序2和3仍然可以从应用程序1识别会话

我还不熟悉web服务,我的最后期限快到了(最终项目培训计划正在进行中)。请帮帮我:) 非常感谢。向您致意,Nico.

在web.xml中

<servlet>
    <display-name>WebServiceServlet</display-name>
    <servlet-name>WebServiceServlet</servlet-name>
    <servlet-class>full path of ur serlvet class</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>WebServiceServlet</servlet-name>
    <url-pattern>/UrWebServiceUrl</url-pattern>
</servlet-mapping>

在发送响应之前,您可能需要加密或安全验证。从应用程序2和应用程序3调用Web服务。

Java只能将结果字符串返回给调用者(调用该方法的人)。为什么不直接从应用程序1提供web服务功能呢?因此,每当应用程序2和应用程序3访问应用程序1的web服务时,您都可以直接提供会话信息。@additionster哦,是吗?你能给我解释一下吗?我从来没有使用过web服务,并且对它感到困惑。我可以从应用程序1创建web服务,但它里面有什么?在应用程序2和3中,它将只是客户端,对吗?它如何传递会话信息?谢谢..您在应用程序1上使用的是什么框架?@additionster struts+ibatis,但是我可以只使用java代码来使用客户端吗?因此,为了检索会话信息,我可以触发java客户机类。。这太令人困惑了,我已经搜索了几天。为了我自己,我使用servlet来模拟web服务。在应用程序1中,定义一个新的servlet来提供您的会话信息。在web.xml中定义url。当application2和application3尝试访问Application1servlet的url时,会提供包含会话信息的JSON字符串。但您可能需要加密选项或某种安全验证来防止数据泄漏。
<servlet>
    <display-name>WebServiceServlet</display-name>
    <servlet-name>WebServiceServlet</servlet-name>
    <servlet-class>full path of ur serlvet class</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>WebServiceServlet</servlet-name>
    <url-pattern>/UrWebServiceUrl</url-pattern>
</servlet-mapping>
public void doPost(HttpServletRequest request, HttpServletResponse response)
{
    response.setContentType("application/json");
    JSONObject json = new JSONObject();
    json.put("session", "sessionValue");
    PrintWriter pw = response.getWriter();
    pw.write(json);
    pw.close();
}