Вызов метода soaplib, работающего на python в Java
У меня следующая ситуация, я должен использовать веб-сервис, написанный на python с использованием soaplib в Java. Я могу нормально импортировать веб-сервис в Eclipse, но когда я пытаюсь вызвать метод веб-сервиса, я получаю следующее сообщение об ошибке...
AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/опроект Server.userException faultSubcode: faultString: org.xml.sax.SAXParseException: содержимое не разрешено в прологе. faultActor: faultNode: faultDetail:
Поэтому я попытался создать свой собственный маленький веб-сервис, используя soaplib, чтобы попробовать это. Вот сервер веб-службы, работающий с soaplib и внутренним http-сервером. Простой метод
import soaplib из soaplib.core.service import rpc, DefinitionBase из soaplib.core.model.primitive import String, Целое число из soaplib.core.server импорт wsgi из soaplib.core.model.clazz import Массив из soaplib.core.service импорт мыла Класс HelloWorldService(DefinitionBase): @soap(String,_returns=String) def say_hello(self,name): results = 'Hello, %s'%name print('Hello, %s' % name) возвращает результаты, если __name__=='__main__': try: from wsgiref.simple_server import make_server soap_application = soaplib.core.Application([HelloWorldService], 'tns') wsgi_application = wsgi.Application(soap_application) сервер = make_server('pc-frank', 7789, ws) server.serve_forever() кроме ImportError: print "Ошибка: пример кода сервера требует Python >= 2.5"
и это класс Java, который я пытаюсь использовать
import java.rmi.RemoteException; импортировать статический java.lang.System.out; импортные тн.*; публичный класс testws { public static void main(String[] args){ ApplicationProxy ws = new ApplicationProxy(); пытаться { String test = ws.say_hello("world"); out.println(тест); } catch (RemoteException e) { // TODO автоматически сгенерированный блок catch e.printStackTrace(); } } }
Любая помощь очень ценится!
1 ответ
Похоже, либо запрос, либо ответ не разбирается. Я бы запечатлел их обоих и проверил через инструмент проверки. В Интернете есть много таких, которые позволяют вставить XML-код и понять, почему он не проверяется.