Lotus Web Service Provider

GnomE

Member
24.12.2012
5
0
#1
Здравствуйте!
Есть задача, нужно разработать веб сервис с проверкой подписи на уровне соап сообщения. Подскажите как это сделать?
С клиентом на лотусе который бы подписывал сообщение я разобрался, wsdd подсунул с указанием обработчиков, а вот как это сделать в самом сервисе?
Заранее благодарен!
 

GnomE

Member
24.12.2012
5
0
#2
Никто не сталкивался?! :)
Это вообще возможно в лотусе? в какую сторону хотябы копать? :huh:
 

GnomE

Member
24.12.2012
5
0
#4
непонятно - чего непонятно :) и причем здесь домина...
http://docs.oracle.com/cd/E17802_01/webser...SignedSoap.java
эммм... вопрос в том где мне это описать?
у меня есть подобный код, с ним нет проблем (я подписываю своё сообщение отправляя запрос на другой сервис), а вот как мне проверять подпись у себя, как перехватить это событие и прикрутить свой обработчик?
 

lmike

нет, пердело совершенство
Премиум
27.08.2008
6 567
263
#5
какое событие, чего прикрутить...
может это натолкнёт на способ
 

GnomE

Member
24.12.2012
5
0
#6
какое событие, чего прикрутить...
может это натолкнёт на способ
да, я читал этот пост когда боролся с клиентом. собственно и пример рабочий подписи и проверки у меня есть от туда. в клиенте нужно было выгрузить файл конфигурации (wsdd), подправить его, залить как ресурс, и указать его в локаторе....а как в сервисе указать на него, где прописать правленый конфиг?
 

proteam

Well-known member
02.03.2012
144
1
#7
я подписываю своё сообщение отправляя запрос на другой сервис
А как вы сделали подпись сообщения? Я вот сейчас над этим работаю.
В общем такая ситуация. Мне нужно подписать request перед отправкой. В самом ВСДЛ не описана подпись, она добавляется через джава апплет (пока не могу подключить джава апплет, проблему решаю со сборкой jar) Там есть метод signXML, которой в качестве параметра принимает xml как String. Но тут и загвоздка. Как перед отправкой достать XML который будет отправлен?

Вот код из конзюмера:
Java:
public class UniversalServiceSyncServiceSoapBindingStub extends lotus.domino.websvc.client.Stub implements kz.bee.bip.SyncChannel.v10.Interfaces.UniversalServiceSync {
public lotus.domino.websvc.client.Call callHandler;
	public UniversalServiceSyncServiceSoapBindingStub(java.net.URL endpointURL, javax.xml.rpc.Service service) throws lotus.domino.types.Fault {
		 super(endpointURL, service);
	}
 
public kz.bee.bip.SyncChannel.v10.Types.Response.SyncSendMessageResponse sendMessage(kz.bee.bip.SyncChannel.v10.Types.Request.SyncSendMessageRequest request) throws kz.bee.bip.common.v10.Types.ErrorInfo, java.rmi.RemoteException {
callHandler = null;
 
		lotus.domino.websvc.client.Call _call = createCall("sendMessage");		
		java.lang.Object _resp = _call.invoke(new java.lang.Object[] {request});
		callHandler = _call;
		return (kz.bee.bip.SyncChannel.v10.Types.Response.SyncSendMessageResponse) _call.convert(_resp, kz.bee.bip.SyncChannel.v10.Types.Response.SyncSendMessageResponse.class);
	}
 
}
я бы получил XML который будет отправлен так _call.getMessageContext().getRequestMessage().getSOAPPartAsString(), но до метода java.lang.Object _resp = _call.invoke(new java.lang.Object[] {request}); переменная _call ничего не содержит, а invoke() как раз и отправляет запрос. Помоги разобраться, в работе с веб-сервисами новичок.
 

proteam

Well-known member
02.03.2012
144
1
#8
Каким еще способом можно с веб сервисом работать?
 

proteam

Well-known member
02.03.2012
144
1
#9
Вообще это возможно, получить перед отправкой соап сообщение и внести в него изменения?
 

proteam

Well-known member
02.03.2012
144
1
#10
Форумчане, помогите с этим сервисом. Возможно ли вообще такое?