| Oracle® Retail Integration Cloud Service Implementation Guide–Concepts Release 22.1.302.0 F60189-01 |
|
![]() Previous |
![]() Next |
import java.net.URL;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.xml.namespace.QName;
import javax.xml.ws.BindingProvider;
import weblogic.wsee.jws.jaxws.owsm.SecurityPoliciesFeature;
import weblogic.wsee.security.unt.ClientUNTCredentialProvider;
import weblogic.xml.crypto.wss.WSSecurityContext;
import weblogic.xml.crypto.wss.provider.CredentialProvider;
import com.oracle.retail.service.ApplicationMessagePublishingPortType;
import com.oracle.retail.service.ApplicationMessagePublishingService;
public class RibApplicationMessagePolicyATester {
private void publishMessages(String nameSpace, String serviceName, String urlString, String userName, String password ,String payloadXmlPath) {
try {
QName qName = new QName(nameSpace, serviceName);
URL url = new URL(urlString);
ApplicationMessagePublishingService myService = new ApplicationMessagePublishingService(url, qName);
String[] policyA = new String[] { "policy:oracle/wss_username_token_over_ssl_client_policy" };
SecurityPoliciesFeature securityFeatures = new SecurityPoliciesFeature(policyA);
ApplicationMessagePublishingPortType myServicePort = myService.getPort(ApplicationMessagePublishingPortType.class, securityFeatures);
List<CredentialProvider> credProviders = new ArrayList<CredentialProvider>();
CredentialProvider cp = new ClientUNTCredentialProvider(userName.getBytes(), password.getBytes());
credProviders.add(cp);
BindingProvider bindingProvider = (BindingProvider) myServicePort;
Map<String, Object> requestContext = bindingProvider.getRequestContext();
requestContext.put(WSSecurityContext.CREDENTIAL_PROVIDER_LIST, credProviders);
requestContext.put(BindingProvider.USERNAME_PROPERTY, userName);
requestContext.put(BindingProvider.PASSWORD_PROPERTY, password);
PublisherUtility testPublisher = new PublisherUtility();
myServicePort.publishMessages(testPublisher.transformRibMessageVoToApplicationMessages(payloadXmlPath));
System.out.println("Message publishing ends .......");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
try {
String serviceName = "ApplicationMessagePublishingService";
String urlString = "https://rex.retail.us-phoenix-1.ocs.oc-test.com:443/rgbu-rex-rgbu-dev1-rics/rib-ext-services-web/ApplicationMessagePublishingService?WSDL";
String userName = <IDCS Login user>
String password = <IDCS Login Password>
String nameSpace = "http://www.oracle.com/retail/rib/integration/services/ApplicationMessagePublishingService/v1";
String serviceName = "ApplicationMessagePublishingService";
String payloadXMLPath = <pick the payload from sample XML>;
RibApplicationMessagePolicyATester tester = new RibApplicationMessagePolicyATester();
tester.ping(nameSpace, serviceName, urlString, userName, password);
tester.publishMessages(nameSpace, serviceName, urlString, userName, password,payloadXMLPath);
} catch (Exception e) {
e.printStackTrace();
}
}
}