powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / web сервис. Спихните с граблей пожалуйста.
4 сообщений из 4, страница 1 из 1
web сервис. Спихните с граблей пожалуйста.
    #37953415
senin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть класс (BiddingMonitoring) полученный из wdsl
включен в проект
создаю объект (исходник ниже), вызываю метод сервиса, получаю ошибку.
Не то удивительно что ошибку при обращении к сервису, а то что вместо цивилизованного сообщения наступает разрыв мозга и приходит не xml а text/plain

поскольку я далеко не первый пользователь сервиса, какая-то грубая ошибка у меня (

попутный вопрос - после UnsupportedMediaException как/чем достать ответ сервиса ???

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
com.sun.xml.internal.ws.server.UnsupportedMediaException: Unsupported Content-Type: text/plain; charset=utf-8 Supported ones are: [application/soap+xml]
	at com.sun.xml.internal.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:284)
	at com.sun.xml.internal.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:118)
	at com.sun.xml.internal.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:278)
	at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:180)
	at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:83)
	at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:105)
	at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:587)
	at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:546)
	at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:531)
	at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:428)
	at com.sun.xml.internal.ws.client.Stub.process(Stub.java:211)
	at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:124)
	at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:98)
	at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
	at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
	at $Proxy33.setBiddingInvitation(Unknown Source)
	at msoap.MSoap.main(MSoap.java:147)
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package msoap;

import Interfax.Application;
import Interfax.ArbitrManager;
import Interfax.ArrayOfLot;
import Interfax.Attach;
import Interfax.BiddingInvitationType;
import Interfax.BiddingMonitoring;
import Interfax.BiddingMonitoringSoap;
import Interfax.CloseForm;
import Interfax.Debtor;
import Interfax.DebtorCompany;
import Interfax.DebtorPerson;
import Interfax.ErrorResult;
import Interfax.FormPrice;
import Interfax.LegalCase;
import Interfax.OpenForm;
import Interfax.RequestResult;
import Interfax.SuccessResult;
import Interfax.TradeInfo;
import Interfax.TradeOrganizer;
import Interfax.TradeOrganizerCompany;
import Interfax.TradeOrganizerPerson;
import Interfax.TradeType;
import java.net.Authenticator;
import java.util.GregorianCalendar;
import javax.xml.datatype.DatatypeConfigurationException;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.ws.Service;

/**
 *
 * @author Андрей
 */
public class MSoap {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws DatatypeConfigurationException {
        Authenticator.setDefault(new SimpleAuthenticator(Params.getWebUser(), Params.getWebPass()));
        BiddingMonitoring biddingMonitoring = new BiddingMonitoring();
        
        BiddingMonitoringSoap biddingMonitoringSoap = biddingMonitoring.getBiddingMonitoringSoap12();

        BiddingInvitationType biddingInvitation = new BiddingInvitationType();
        ArbitrManager arbitrManager = new ArbitrManager();
        arbitrManager.setFirstName("Иван");
        arbitrManager.setINN("000000000000");
        arbitrManager.setLastName("Драга");
        arbitrManager.setMiddleName("");
        arbitrManager.setRegNum("77888965555");
        arbitrManager.setSROName("Тестовое сро");

        biddingInvitation.setArbitrManager(arbitrManager);

        Debtor debtor = new Debtor();
        DebtorCompany debtorCompany;
        debtorCompany = new DebtorCompany();
        debtorCompany.setFullName("Полное наименование тестовой комп");
        debtorCompany.setINN("8888888888");
        debtorCompany.setShortName("7888888");
        debtorCompany.setShortName("тест комп");
        debtor.setDebtorCompany(debtorCompany);
        DebtorPerson debtorPerson;
        debtorPerson = new DebtorPerson();
        debtorPerson.setFirstName("Мигель");
        debtorPerson.setINN("789654123");
        debtorPerson.setLastName("Сервантес");
        debtorPerson.setMiddleName("Y");
        debtor.setDebtorPerson(debtorPerson);
        biddingInvitation.setDebtor(debtor);

        LegalCase legalCase = new LegalCase();
        legalCase.setBase("так надо");
        legalCase.setCaseNumber("45/98");
        legalCase.setCourtName("Мос обл суд");
        biddingInvitation.setLegalCase(legalCase);

        biddingInvitation.setTradeId("идентикатор1");

        TradeInfo tradeInfo = new TradeInfo();
        Application application = new Application();
        application.setRules("правила здесь");
        XMLGregorianCalendar timeBegin = DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar());
        timeBegin.setYear(2002);
        timeBegin.setMonth(11);
        timeBegin.setDay(1);
        timeBegin.setTime(10, 0, 0);
        timeBegin.setTimezone(3);
        application.setTimeBegin(timeBegin);
        XMLGregorianCalendar timeEnd = DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar());
        timeEnd.setYear(2002);
        timeEnd.setMonth(11);
        timeEnd.setDay(1);
        timeEnd.setTime(10, 0, 0);
        timeEnd.setTimezone(3);
        application.setTimeEnd(timeEnd);
        tradeInfo.setApplication(application);
        Attach attach = new Attach();
        attach.setFileName("fff.doc");
        attach.setType(".doc");
        attach.setBlob("tttttttttttttttt".getBytes());
        tradeInfo.setAttach(attach);
        tradeInfo.setAuctionType(TradeType.OPEN_AUCTION);
        CloseForm closeForm = new CloseForm();
        closeForm.setTimeResult(DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar()));
        tradeInfo.setCloseForm(closeForm);
        tradeInfo.setConcours("песни и пляски");
        tradeInfo.setDatePublishEFIR(DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar()));
        tradeInfo.setFormPrice(FormPrice.OPEN_FORM);
        ArrayOfLot lotList = new ArrayOfLot();
        tradeInfo.setLotList(lotList);
        OpenForm openForm = new OpenForm();
        openForm.setTimeBegin(DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar()));
        tradeInfo.setOpenForm(openForm);
        tradeInfo.setPayments("payments");
        tradeInfo.setSaleAgreement("agreement");

        biddingInvitation.setTradeInfo(tradeInfo);

        TradeOrganizer tradeOrganizer;
        tradeOrganizer = new TradeOrganizer();
        TradeOrganizerCompany tradeOrganizerCompany=new TradeOrganizerCompany();
        tradeOrganizer.setTradeOrganizerCompany(tradeOrganizerCompany);
        
        TradeOrganizerPerson tradeOrganizerPerson=new TradeOrganizerPerson();
        tradeOrganizerPerson.setFirstName("Рональд");
        tradeOrganizerPerson.setINN("888888888");
        tradeOrganizerPerson.setLastName("Рейган");
        tradeOrganizerPerson.setMiddleName("o");
        tradeOrganizer.setTradeOrganizerPerson(tradeOrganizerPerson);

        biddingInvitation.setTradeOrganizer(tradeOrganizer);
        
        biddingInvitation.setEventTime(timeEnd);
        
        RequestResult result = new RequestResult();
        System.out.println(""+biddingMonitoring.getServiceName());
        System.out.println("****"+biddingInvitation.getEventTime());
        try {
            result = biddingMonitoringSoap.setBiddingInvitation(biddingInvitation);
        } catch (Exception e) {
            e.printStackTrace();
//            SuccessResult successResult = result.getSuccessResult();
//            ErrorResult err = result.getErrorResult();
        }
    }
}
...
Рейтинг: 0 / 0
web сервис. Спихните с граблей пожалуйста.
    #37953646
Kostya Ilyinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
senin,

Коллега, тут по-моему окромя Вашего кода есть еще сторонние, широкому сообществу неведомые, API. Либо ждите пока кто-то знакомый с API появится, либо больше деталей в студию. Дебажить пробовали? Вот тут коллеги-капиталисты че говорят:

http://stackoverflow.com/questions/1354844/jax-ws-setting-content-type-of-request

типа ошибка приходит, а не ответ, потому и в виде простого html. Лог сервера есть?
...
Рейтинг: 0 / 0
web сервис. Спихните с граблей пожалуйста.
    #37953873
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kostya IlyinovКоллега, тут по-моему окромя Вашего кода есть еще сторонние, широкому сообществу неведомые, API. Либо ждите пока кто-то знакомый с API появится, либо больше деталей в студию.

Тут нет никакого стороннего API. Interfax.* это классы генеренные из WSDL.

Kostya IlyinovДебажить пробовали? Вот тут коллеги-капиталисты че говорят:
http://stackoverflow.com/questions/1354844/jax-ws-setting-content-type-of-request
типа ошибка приходит, а не ответ, потому и в виде простого html. Лог сервера есть?
Да, нужно смотреть что именно от сервера приходит. Например через
com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true

Если сервер действительно вернул HTML из-за какой-то ошибки. То нужно исправлять. А вот если сервер просто не ставить content-type, это уже немного хуже.
...
Рейтинг: 0 / 0
web сервис. Спихните с граблей пожалуйста.
    #37955123
senin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczcom.sun.xml.ws.transport.http.client.HttpTransportPipe.dump=true

вот за эту подсказку спасибо!
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / web сервис. Спихните с граблей пожалуйста.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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