I have a web service running on one machine and I want to access that web service via Applet. A standalone Applet works perfectly fine with no hiccups. But the real problem starts when I embed that applet in an html file. I need to embed applet into Html file due to some client constraints. The applet starts when i open the html page but does not access the web service.
I Know that Applet has to be signed so that it can access all the resources at its disposal. I have signed the Jar but it still hangs. To counter this, I thought of monitoring the network traffic from the client to server where the web service is running. I found some differences..
When I run standalone JAVA Applet (JAR File): It invokes exact web service link and gets the response back. The other most important thing to notice is, It calls javaw.exe and perfect POST request (3rd request shown below).
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 )
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.
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
You didn't install the class files in the right place, so the browser can't find them.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.