简体   繁体   English

嵌入HTML的JAVA Applet挂在操作中间

[英]JAVA Applet embedded in HTML hangs in the middle of an operation

I have a web service running on one machine and I want to access that web service via Applet. 我有一台机器上运行着一个Web服务,我想通过Applet访问该Web服务。 A standalone Applet works perfectly fine with no hiccups. 一个独立的Applet可以正常工作而不会打h。 But the real problem starts when I embed that applet in an html file. 但是,当我将该小程序嵌入html文件时,真正的问题开始了。 I need to embed applet into Html file due to some client constraints. 由于某些客户端限制,我需要将applet嵌入到HTML文件中。 The applet starts when i open the html page but does not access the web service. 当我打开html页面但无法访问Web服务时,applet启动。

I Know that Applet has to be signed so that it can access all the resources at its disposal. 我知道Applet必须经过签名,才能访问所有可用的资源。 I have signed the Jar but it still hangs. 我已经签名了Jar,但是它仍然挂了。 To counter this, I thought of monitoring the network traffic from the client to server where the web service is running. 为了解决这个问题,我想到了监视从客户端到运行Web服务的服务器的网络流量。 I found some differences.. 我发现了一些区别。

When I run standalone JAVA Applet (JAR File): It invokes exact web service link and gets the response back. 当我运行独立的JAVA Applet(JAR文件)时:它调用确切的Web服务链接并返回响应。 The other most important thing to notice is, It calls javaw.exe and perfect POST request (3rd request shown below). 需要注意的另一个最重要的事情是,它调用javaw.exe和完善的POST请求(如下所示的第3个请求)。

javaw.exe   172.22.1.98 SANKET-BA4C8C90     TCP TCP:Flags=...A..S., SrcPort=HTTP Alternate(8080), DstPort=3868, PayloadLen=0, Seq=271218130, Ack=957649749, Win=65535 ( Scale factor not supported ) = 65535    {TCP:1, IPv4:15}

javaw.exe   SANKET-BA4C8C90     172.22.1.98 TCP TCP:Flags=...A...., SrcPort=3868, DstPort=HTTP Alternate(8080), PayloadLen=0, Seq=957649749, Ack=271218131, Win=65535 (scale factor 0x0) = 65535    {TCP:1, IPv4:15}

javaw.exe   SANKET-BA4C8C90     172.22.1.98 HTTP    HTTP:Request, POST /LEDLabServer/services/Blink     {HTTP:2, TCP:1, IPv4:15}

javaw.exe   172.22.1.98 SANKET-BA4C8C90     TCP TCP:Flags=...A...., SrcPort=HTTP Alternate(8080), DstPort=3868, PayloadLen=0, Seq=271218131, Ack=957650035, Win=65249 (scale factor 0x0) = 65249    {TCP:1, IPv4:15}

javaw.exe   SANKET-BA4C8C90     172.22.1.98 SOAP    SOAP: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"   {HTTP:2, TCP:1, IPv4:15}

javaw.exe   172.22.1.98 SANKET-BA4C8C90     SOAP    SOAP: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"   {HTTP:2, TCP:1, IPv4:15}

javaw.exe   172.22.1.98 SANKET-BA4C8C90     TCP TCP:Flags=...A...F, SrcPort=HTTP Alternate(8080), DstPort=3868, PayloadLen=0, Seq=271218757, Ack=957650351, Win=64933 (scale factor 0x0) = 64933    {TCP:1, IPv4:15}

javaw.exe   SANKET-BA4C8C90     172.22.1.98 TCP TCP:Flags=...A...., SrcPort=3868, DstPort=HTTP Alternate(8080), PayloadLen=0, Seq=957650351, Ack=271218758, Win=64909 (scale factor 0x0) = 64909    {TCP:1, IPv4:15}

javaw.exe   SANKET-BA4C8C90     172.22.1.98 TCP TCP:Flags=...A...F, SrcPort=3868, DstPort=HTTP Alternate(8080), PayloadLen=0, Seq=957650351, Ack=271218758, Win=64909 (scale factor 0x0) = 64909    {TCP:1, IPv4:15}

When I run the same applet embedded in HTML file: I get distinct results wherein It calls java.exe and calls Get with improper link to web service (pointing to serviceexception.class instead of POST /LEDLabServer/services/Blink ) 当我运行嵌入在HTML文件中的同一个applet时:我得到不同的结果,其中它调用java.exe并调用Get并带有指向Web服务的不正确链接(指向serviceexception.class而不是POST / LEDLabServer / services / Blink)

java.exe    SANKET-BA4C8C90     172.22.1.98 HTTP    HTTP:Request, GET /LEDLabServer/sampleBlinkProxy/javax/xml/rpc/ServiceException.class   {HTTP:110, TCP:109, IPv4:15}

java.exe    172.22.1.98 SANKET-BA4C8C90     HTTP    HTTP:Response, HTTP/1.1, Status: Not found, URL: /LEDLabServer/sampleBlinkProxy/javax/xml/rpc/ServiceException.class    {HTTP:110, TCP:109, IPv4:15}

java.exe    SANKET-BA4C8C90     172.22.1.98 TCP TCP:Flags=...A...., SrcPort=3899, DstPort=HTTP Alternate(8080), PayloadLen=0, Seq=3129701517, Ack=3474193866, Win=64243 (scale factor 0x0) = 64243  {TCP:109, IPv4:15}
java.exe    SANKET-BA4C8C90     172.22.1.98 HTTP    HTTP:Request, GET /LEDLabServer/sampleBlinkProxy/javax/xml/rpc/ServiceException.class   {HTTP:110, TCP:109, IPv4:15}

java.exe    172.22.1.98 SANKET-BA4C8C90     HTTP    HTTP:Response, HTTP/1.1, Status: Not found, URL: /LEDLabServer/sampleBlinkProxy/javax/xml/rpc/ServiceException.class    {HTTP:110, TCP:109, IPv4:15}

java.exe    SANKET-BA4C8C90     172.22.1.98 TCP TCP:Flags=...A...., SrcPort=3899, DstPort=HTTP Alternate(8080), PayloadLen=0, Seq=3129701767, Ack=3474195158, Win=65535 (scale factor 0x0) = 65535  {TCP:109, IPv4:15}

java.exe    SANKET-BA4C8C90     172.22.1.98 TCP TCP:Flags=...A...F, SrcPort=3899, DstPort=HTTP Alternate(8080), PayloadLen=0, Seq=3129701767, Ack=3474195158, Win=65535 (scale factor 0x0) = 65535  {TCP:109, IPv4:15}

java.exe    172.22.1.98 SANKET-BA4C8C90     TCP TCP:Flags=...A...., SrcPort=HTTP Alternate(8080), DstPort=3899, PayloadLen=0, Seq=3474195158, Ack=3129701768, Win=64535 (scale factor 0x0) = 64535  {TCP:109, IPv4:15}

java.exe    172.22.1.98 SANKET-BA4C8C90     TCP TCP:Flags=...A...F, SrcPort=HTTP Alternate(8080), DstPort=3899, PayloadLen=0, Seq=3474195158, Ack=3129701768, Win=64535 (scale factor 0x0) = 64535  {TCP:109, IPv4:15}

java.exe    SANKET-BA4C8C90     172.22.1.98 TCP TCP:Flags=...A...., SrcPort=3899, DstPort=HTTP Alternate(8080), PayloadLen=0, Seq=3129701768, Ack=3474195159, Win=65535 (scale factor 0x0) = 65535  {TCP:109, IPv4:15}

PS: I am using JAXRPC for web services. PS:我正在将JAXRPC用于Web服务。

Can somebody help me with this? 有人可以帮我吗?

The problem is pretty obvious from your log: 该问题从您的日志中非常明显:

HTTP:Response, HTTP/1.1, Status: Not found , URL: /LEDLabServer/sampleBlinkProxy/javax/xml/rpc/ServiceException.class HTTP:响应,HTTP / 1.1, 状态:未找到 ,URL:/LEDLabServer/sampleBlinkProxy/javax/xml/rpc/ServiceException.class

You didn't install the class files in the right place, so the browser can't find them. 您没有在正确的位置安装类文件,因此浏览器找不到它们。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM