Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / SOAP / 13 сообщений из 13, страница 1 из 1
27.12.2006, 14:12:38
    #34227945
Nevolin Alexandr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOAP
Подскажите пож-ста как писать клиентов на java к готовым сервисам?
есть сервис http://www.ripedev.com/webservices/LocalTime.asmx
как написать к нему клиента на java?
допустим использовать если использовать apache soap?
...
Рейтинг: 0 / 0
27.12.2006, 14:22:34
    #34227994
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOAP
Надо смотерть конкретную задачу.
Например если понадобится работать с SOAP XML, а не только с объектами то можно пробовать как Apache SOAP так и SAAJ. Хотя у меня душа к opensource лежит.

Еже ли просто к логике присосаться надо, то можно в Axis / Axis 2 посмотреть. Его WSDL2Java может сгенерить заготовки для кода клиента.
...
Рейтинг: 0 / 0
27.12.2006, 14:25:29
    #34228013
Йогурт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOAP
там примеры есть , можно втупую слать POST-запросом по HTTP
...
Рейтинг: 0 / 0
27.12.2006, 14:33:00
    #34228039
Nevolin Alexandr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOAP
как в тупую Post запросами? напишите пример кода?
...
Рейтинг: 0 / 0
27.12.2006, 14:46:27
    #34228084
Йогурт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOAP
например, так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
		URL url =  new  URL("http://www.ripedev.com/webservices/LocalTime.asmx");
		HttpURLConnection conn = (HttpURLConnection) url.openConnection();
		conn.setDoOutput(true);
		conn.setRequestProperty("Host", "www.ripedev.com");
		conn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
		conn.setRequestProperty("Host", "www.ripedev.com");
		conn.setRequestMethod("POST");
		OutputStream outputStream = conn.getOutputStream();
		IOUtils.copy( new  FileInputStream("message.txt"), outputStream);
		outputStream.flush();
		String response = IOUtils.toString(conn.getInputStream());
		System.out.println(response);

мне он, правда, ответил такое:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<soap:Body>
		<LocalTimeByZipCodeResponse xmlns="http://ripedev.com/xsd/ZipCodeResults.xsd">
			<LocalTimeByZipCodeResult>Timeout expired.  The timeout period elapsed prior to obtaining a connection from the pool.   This  may have occurred because all pooled connections were in use and max pool size was reached.</LocalTimeByZipCodeResult>
		</LocalTimeByZipCodeResponse>
	</soap:Body>
</soap:Envelope>
...
Рейтинг: 0 / 0
27.12.2006, 14:47:59
    #34228092
Йогурт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOAP
да, в message.txt у меня текст запроса со страницы с примерами


хотя в целом отсылать запросы ручками - это, неправильный подход сервисы пользовать
...
Рейтинг: 0 / 0
27.12.2006, 14:55:44
    #34228132
Nevolin Alexandr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOAP
Да спасибо... у меня такой же ответ... :(
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 import  java.io.InputStreamReader;
 import  org.dom4j.Document;
 import  org.dom4j.io.SAXReader;
 import  ru.iteranet.fwws.http.HttpTransport;

 public   class  SoapClient {
     public   static   void  main(String[] args)  throws  Exception {
        HttpTransport t =  new  HttpTransport();
        Document request =  new  SAXReader().read( new  InputStreamReader(SoapClient. class 
                        .getResourceAsStream("message.xml")));
        String xml = t.post("http://www.ripedev.com/webservices/LocalTime.asmx", request.asXML());
        System.out.println(xml);
    }
}
А допустим веб сервис принимает на вход XML, как вообще заворачивать в SOAP конверт этот XML?
какие средства лучше применять?
...
Рейтинг: 0 / 0
27.12.2006, 15:52:17
    #34228346
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOAP
Nevolin AlexandrА допустим веб сервис принимает на вход XML, как вообще заворачивать в SOAP конверт этот XML?
какие средства лучше применять?

Мы SAAJ использовали. Вроде работает. Напрягает только выбор нормальной реализации.
...
Рейтинг: 0 / 0
27.12.2006, 16:21:14
    #34228454
jnick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOAP
не нужно никакого XML . WSDL2Java сгенерит клиента с методом типа
public java.lang.String localTimeByZipCode(java.lang.String zipCode)
усе и юзай его....
...
Рейтинг: 0 / 0
28.12.2006, 11:01:39
    #34229800
Nevolin Alexandr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOAP
Как сгенирить код клиента испльзуя WSDL4J?
поясни на примере пож-ста...
...
Рейтинг: 0 / 0
28.12.2006, 13:39:31
    #34230350
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOAP
Nevolin AlexandrКак сгенирить код клиента испльзуя WSDL4J?
поясни на примере пож-ста...

Ты тут первый про WSDL4J заговорил. Внимательнее читай посты.
...
Рейтинг: 0 / 0
28.12.2006, 14:10:02
    #34230505
jnick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOAP
java org.apache.axis.wsdl.WSDL2Java http://www.ripedev.com/webservices/LocalTime.asmx?WSDL

должно получиться 5 файлов, дальше так:
import com.ripedev.xsd.ZipCodeResults_xsd.*;
public class Main {

public Main() {
}

public static void main(String[] args) {
try{

LocalTimeLocator ltl=new LocalTimeLocator();
LocalTimeSoapStub lts=(LocalTimeSoapStub)ltl.getLocalTimeSoap();

System.out.println(lts.localTimeByZipCode("тут зип код"));
}catch(Exception exc){exc.printStackTrace();}
}

}
...
Рейтинг: 0 / 0
29.12.2006, 09:36:34
    #34231962
Nevolin Alexandr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SOAP
Все понятно, спасибо за помощь.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / SOAP / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]