JAVA-апплет, встроенный в HTML, зависает в середине операции - PullRequest
0 голосов
/ 21 ноября 2011

У меня есть веб-сервис, работающий на одной машине, и я хочу получить доступ к этому веб-сервису через апплет.Автономный апплет работает отлично, без сбоев.Но настоящая проблема начинается, когда я встраиваю этот апплет в HTML-файл.Мне нужно встроить апплет в HTML-файл из-за некоторых ограничений клиента.Апплет запускается, когда я открываю html-страницу, но не обращаюсь к веб-службе.

Я знаю, что апплет должен быть подписан, чтобы он мог получить доступ ко всем ресурсам, находящимся в его распоряжении.Я подписал банку, но она все еще висит.Чтобы противостоять этому, я подумал о мониторинге сетевого трафика от клиента к серверу, на котором работает веб-служба.Я обнаружил некоторые различия.

Когда я запускаю автономный апплет JAVA (файл JAR): он вызывает точную ссылку на веб-сервис и возвращает ответ.Еще одна важная вещь, на которую следует обратить внимание: она вызывает javaw.exe и совершенный запрос POST (третий запрос показан ниже).

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}

Когда я запускаю тот же апплет, встроенный в файл HTML: я получаю отчетливые результаты, в которыхОн вызывает java.exe и вызывает Get с неправильной ссылкой на веб-сервис (указывая на 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: я использую JAXRPC для веб-сервисов.

Может кто-нибудь помочь мне с этим?

1 Ответ

1 голос
/ 21 ноября 2011

Проблема довольно очевидна из вашего журнала:

HTTP: Ответ, HTTP / 1.1, Статус: не найден , URL: /LEDLabServer/sampleBlinkProxy/javax/xml/rpc/ServiceException.class

Вы не установили файлы классов в нужном месте, поэтому браузер не может их найти.

...