problem z odebraniem SOAP response

0

Mam pewien problem związany z web service. Łączę się z serwerem, wysyłam Request i oczekuję na odpowiedź w ten sposób:

import java.io.*;
import java.net.*;

public class Test3 {

    public final static String DEFAULT_SERVER 
       = "http://nlp.pwr.wroc.pl/clarin/ws/takipi";
    public final static String SOAP_ACTION 
       = "http://nlp.pwr.wroc.pl/clarin/ws/takipi/Tag";

    public static void main(String[] args) throws Exception {
        String s="Ala Ma Kota test";

        String hostname = "nlp.pwr.wroc.pl";
        int port = 80;
        InetAddress  addr = InetAddress.getByName(hostname);
        Socket client = new Socket(addr, port);
        System.out.println("Połączony");

        OutputStream out = client.getOutputStream();
        PrintWriter writer = new PrintWriter(out);
        System.out.println("OutputStream otwarty");

        InputStream in = client.getInputStream();
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));

        writer.write("POST /clarin/ws/takipi/ HTTP/1.1\n");
        writer.write("Host: nlp.pwr.wroc.pl\n");
        writer.write("Connection: Keep-Alive\n");
        writer.write("User-Agent: PHP-SOAP/5.2.6-1+lenny9\n");
        writer.write("Content-Type: text/xml; charset=utf-8\n");
        writer.write("SOAPAction: \"http://nlp.pwr.wroc.pl/clarin/ws/takipi/Tag\"\n");
        writer.write("Content-Length: 1208\n");
        writer.write("\n");
        writer.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
        writer.write("<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ns1=\"http://nlp.pwr.wroc.pl/clarin/ws/takipi/\"><SOAP-ENV:Body><ns1:Tag><text>"+
                    s+"</text><format>TXT</format><useGuesser>true</useGuesser></ns1:Tag></SOAP-ENV:Body></SOAP-ENV:Envelope>\n");
        writer.write("\n");
        writer.flush();

        String str=null;
        while((str=reader.readLine())!=null)
            System.out.println("Odp: "+str);

        writer.close();
        reader.close();
    }
} 

Nie otrzymuję jednak odpowiedzi, tzn. pętla readLine nie kończy się, ale też nic nie wypisuje. Komunikat Request dochodzi, co widać na poniższej stronie:
http://nlp.pwr.wroc.pl/clarin[...]kipi/test/request_history.php

Będę wdzięczny za wszelkie sugestie/podpowiedzi co robię źle, że nie umiem odczytać odpowiedz.

0

jeżeli mówimy o soap to pewnie masz tam jakiegoś wsdl'a? Java ma wygodne narzędzia które to upraszczają i automatycznie generuja kod. (wsimport)

w dokumentacji na tej stronie jest plik wsdl. Wygeneruj sobie z tego kod javy i na nim operuj. Nie ma sensu schodzić do strumieni...Chyba że to coś wybitnie specyficznego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0