/** * @param binding the binding to configure * @param bindingConfig the config to apply to the binding */ void configurePartnerBinding(Soap binding, BindingConfig bindingConfig) { WSBindingProvider wsBindingProvider = (WSBindingProvider) binding; this.configureRequestContextConnectionParams(wsBindingProvider); // Set the endpoint URL wsBindingProvider.getRequestContext() .put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, bindingConfig.getPartnerServerUrl()); // Set the session Id in the header SessionHeader sessionHeader = new SessionHeader(); sessionHeader.setSessionId(bindingConfig.getSessionId()); // now that login is done, add both the session id header and the client id header // (callOpts) List<Header> headers = new ArrayList<Header>(); final CallOptions callOptions = new CallOptions(); callOptions.setClient(this.partnerKey); headers.add(Headers.create(this.partnerJaxbContext, sessionHeader)); headers.add(Headers.create(this.partnerJaxbContext, callOptions)); wsBindingProvider.setOutboundHeaders(headers); }
/** * Set up a metadata binding for use. * * @param metadataBinding the binding to configure * @param bindingConfig the config data to apply */ void configureMetadataBinding(@Nonnull MetadataPortType metadataBinding, @Nonnull BindingConfig bindingConfig) { WSBindingProvider metadataWsBindingProvider = (WSBindingProvider) metadataBinding; this.configureRequestContextConnectionParams(metadataWsBindingProvider); // Set the session Id in the header com.palominolabs.crm.sf.soap.jaxwsstub.metadata.SessionHeader sessionHeader = new com.palominolabs.crm.sf.soap.jaxwsstub.metadata.SessionHeader(); sessionHeader.setSessionId(bindingConfig.getSessionId()); List<Header> headers = new ArrayList<Header>(); com.palominolabs.crm.sf.soap.jaxwsstub.metadata.CallOptions metadataCallOpts = new com.palominolabs.crm.sf.soap.jaxwsstub.metadata.CallOptions(); metadataCallOpts.setClient(this.partnerKey); headers.add(Headers.create(this.metadataJaxbContext, sessionHeader)); headers.add(Headers.create(this.metadataJaxbContext, metadataCallOpts)); metadataWsBindingProvider.setOutboundHeaders(headers); metadataWsBindingProvider.getRequestContext() .put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, bindingConfig.getMetadataServerUrl()); logger.exit("User " + bindingConfig.getUsername() + ", session id " + bindingConfig.getSessionId() + " on metadata server" + bindingConfig.getMetadataServerUrl()); }
((WSBindingProvider) aPort).setOutboundHeaders (aHeaders); ((WSBindingProvider) aPort).setOutboundHeaders (aHeaders);
void configureApexBinding(ApexPortType binding, BindingConfig bindingConfig) { WSBindingProvider apexWsBindingProvider = (WSBindingProvider) binding; this.configureRequestContextConnectionParams(apexWsBindingProvider); // Set the session Id in the header com.palominolabs.crm.sf.soap.jaxwsstub.apex.SessionHeader sessionHeader = new com.palominolabs.crm.sf.soap.jaxwsstub.apex.SessionHeader(); sessionHeader.setSessionId(bindingConfig.getSessionId()); List<Header> headers = new ArrayList<Header>(); com.palominolabs.crm.sf.soap.jaxwsstub.apex.CallOptions apexCallOpts = new com.palominolabs.crm.sf.soap.jaxwsstub.apex.CallOptions(); apexCallOpts.setClient(this.partnerKey); DebuggingHeader apexDebug = new DebuggingHeader(); apexDebug.setDebugLevel(LogType.PROFILING); for (LogCategory category : LogCategory.values()) { LogInfo logInfo = new LogInfo(); logInfo.setCategory(category); logInfo.setLevel(LogCategoryLevel.DEBUG); apexDebug.getCategories().add(logInfo); } headers.add(Headers.create(this.apexJaxbContext, sessionHeader)); headers.add(Headers.create(this.apexJaxbContext, apexCallOpts)); headers.add(Headers.create(this.apexJaxbContext, apexDebug)); apexWsBindingProvider.setOutboundHeaders(headers); apexWsBindingProvider.getRequestContext() .put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, bindingConfig.getApexServerUrl()); logger.exit("User " + bindingConfig.getUsername() + ", session id " + bindingConfig.getSessionId() + " on apex server" + bindingConfig.getApexServerUrl()); }
wsBindingProvider.setOutboundHeaders(Headers.create(this.partnerJaxbContext, callOpts)); this.configureRequestContextConnectionParams(wsBindingProvider);