<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/07/secext">
<wsse:UsernameToken xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility">
<wsse:Username>Username</wsse:Username>
<wsse:Password Type="wsse:PasswordText">Password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
The above lines are entered as XML fragment in a BPEL process in JDeveloper.Question: How do I design a suitable schema to get Username and Password for Siebel header to call out Siebel services?
this is an example of request to siebel web services with WSSOAP option turned on:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<ns:UsernameToken xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://siebel.com/webservices" xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/">User name goes here</ns:UsernameToken>
<ns:PasswordText xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://siebel.com/webservices" xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/">Password goes here</ns:PasswordText>
<ns:SessionType xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://siebel.com/webservices" xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/">Session type goes here</ns:SessionType>
<ns:SessionToken xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://siebel.com/webservices" xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/">Session token goes here</ns:SessionToken>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
without WSSOAP option you would have to either invoke that as anonymous user (configured on Siebel side) or put user name & password in URL.
Here you can find more information (Siebel Bookshelf): http://docs.oracle.com/cd/B40099_02/books/EAI2/EAI2_WebServices.html
Related
I am generating a soap envelope with the soap package on NodeJS and generated envelope is below:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:i0="http://tempuri.org/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:tns="http://schemas.microsoft.com/ws/2008/06/identity/securitytokenservice" xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702" xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512" xmlns:q1="http://docs.oasis-open.org/ws-sx/ws-trust/200512" xmlns:q2="http://docs.oasis-open.org/ws-sx/ws-trust/200512" xmlns:q3="http://docs.oasis-open.org/ws-sx/ws-trust/200512" xmlns:q4="http://docs.oasis-open.org/ws-sx/ws-trust/200512" xmlns:q5="http://docs.oasis-open.org/ws-sx/ws-trust/200512" xmlns:q6="http://docs.oasis-open.org/ws-sx/ws-trust/200512" xmlns:q7="http://docs.oasis-open.org/ws-sx/ws-trust/200512" xmlns:q8="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
<soap:Header>
<Action>http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue</Action>
<MessageID>urn:uuid:568d575f-6760-4fd7-837d-04c610abcff4</MessageID>
<To>https://kpsv2test.saglik.gov.tr/STS/STSService.svc</To>
<ReplyTo>
<Address>http://www.w3.org/2005/08/addressing/anonymous</Address>
</ReplyTo>
<SorgulayanKimlikNo>10774881040</SorgulayanKimlikNo>
<wsse:Security soap:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsu:Timestamp wsu:Id="Timestamp-2021-02-26T13:15:20Z">
<wsu:Created>2021-02-26T13:15:20Z</wsu:Created>
<wsu:Expires>2021-02-26T13:25:20Z</wsu:Expires>
</wsu:Timestamp>
<wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="SecurityToken-2021-02-26T13:15:20Z">
<wsse:Username>test_user2</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">Twm=x5Gb</wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">r9V/OHo2DbI7hLmw+a2fpt12qZI=</wsse:Nonce>
</wsse:UsernameToken>
</wsse:Security>
</soap:Header>
<soap:Body>
<q7:RequestSecurityToken xmlns:q7="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
<wsp:AppliesTo xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
<EndpointReference>
<Address>https://kpsv2test.saglik.gov.tr/Router/RoutingService.svc</Address>
</EndpointReference>
</wsp:AppliesTo>
<trust:KeyType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/Bearer</trust:KeyType>
<trust:RequestType>http://docs.oasis-open.org/ws-sx/ws-trust/200512/Issue</trust:RequestType>
</q7:RequestSecurityToken>
</soap:Body>
</soap:Envelope>
I copied and pasted this request to SOAPUI but SOAPUI is giving below error.
ERROR:org.apache.xmlbeans.XmlException: Missing/Invalid SOAP Envelope, expecting [{http://www.w3.org/2003/05/soap-envelope}Envelope]
org.apache.xmlbeans.XmlException: Missing/Invalid SOAP Envelope, expecting [{http://www.w3.org/2003/05/soap-envelope}Envelope]
at com.eviware.soapui.impl.wsdl.support.soap.SoapUtils.getHeaderElement(SoapUtils.java:147)
at com.eviware.soapui.impl.wsdl.support.wsa.WsaUtils.getHeader(WsaUtils.java:133)
at com.eviware.soapui.impl.wsdl.support.wsa.WsaUtils.createNewWSAddressingRequest(WsaUtils.java:288)
at com.eviware.soapui.impl.wsdl.support.wsa.WsaUtils.addWSAddressingRequest(WsaUtils.java:281)
at com.eviware.soapui.impl.wsdl.submit.filters.WsaRequestFilter.filterAbstractHttpRequest(WsaRequestFilter.java:54)
at com.eviware.soapui.impl.wsdl.submit.filters.AbstractRequestFilter.filterRequest(AbstractRequestFilter.java:33)
at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.filterRequest(HttpClientRequestTransport.java:322)
at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:184)
at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:119)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:835)
I didn't understand where the problem is. Could you help me?
It‘s a SOAP version mismatch, server expects version 1.2 but client is sending 1.1
(I am confused about SOAP namespaces).
You need to implement (here: construct request based on) wsdl from server and make sure to use version 1.2
I am trying to write an app to consume messages from Kafka topic and then enrich the inbound message to add new headers. The versions in use are:
spring-integration-core -- 5.3.4.RELEASE
spring-integration-kafka -- 3.3.1.RELEASE
spring-boot -- 2.3.5.RELEASE
When in my integration XML, int-kafka:message-driven-channel-adapter doesn't allow me to supply an output channel or channel property. I am not sure how to tie this to next channel in the flow which can be a router, transformer, enricher, or anything else for that matter.
This is a sample app that will just receive a message from Kafka topic, do some transformation, enrichment, etc. and then persist the parts of message in the database.
Can you please give some XML config template for a multi-channel integration?
For the sake of completion, here's what I am trying but not able to proceed further:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:int="http://www.springframework.org/schema/integration"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:int-stream="http://www.springframework.org/schema/integration/stream"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:int-file="http://www.springframework.org/schema/integration/file"
xmlns:int-ftp="http://www.springframework.org/schema/integration/ftp"
xmlns:int-xml="http://www.springframework.org/schema/integration/xml"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:int-jms="http://www.springframework.org/schema/integration/jms"
xmlns:int-jdbc="http://www.springframework.org/schema/integration/jdbc"
xmlns:int-kafka="http://www.springframework.org/schema/integration/kafka"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd
http://www.springframework.org/schema/integration/stream http://www.springframework.org/schema/integration/stream/spring-integration-stream.xsd
http://www.springframework.org/schema/integration/ftp http://www.springframework.org/schema/integration/ftp/spring-integration-ftp.xsd
http://www.springframework.org/schema/integration/xml http://www.springframework.org/schema/integration/xml/spring-integration-xml.xsd
http://www.springframework.org/schema/integration/file http://www.springframework.org/schema/integration/file/spring-integration-file.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/integration/jms http://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd
http://www.springframework.org/schema/integration/jdbc http://www.springframework.org/schema/integration/jdbc/spring-integration-jdbc.xsd
http://www.springframework.org/schema/integration/kafka http://www.springframework.org/schema/integration/kafka/spring-integration-kafka.xsd
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd">
<int-kafka:message-driven-channel-adapter
listener-container="messageListenerContainer"
send-timeout="5000"
mode="record"
retry-template="template"
recovery-callback="callback"
error-message-strategy="ems"
error-channel="errorChannel" />
</beans>
Are you having a runtime problem or an IDE problem?
There's a test case that has a channel property.
https://github.com/spring-projects/spring-integration/blob/15c2d16866a72470b35c65a34e869998f5823f81/spring-integration-kafka/src/test/java/org/springframework/integration/kafka/config/xml/KafkaMessageDrivenChannelAdapterParserTests-context.xml#L12-L23
I am seeing some false errors in eclipse right now; investigating...
EDIT
If you are using Spring Tool Suite 4, XML namespace support is disabled by default.
Enabling it solved the problem for me, but I had to restart the IDE.
I've been trying to use the NetSuite api for sometime using the netsuite gem.
I can login to the website, but when I try to authenticate from the API I get an INVALID_LOGIN_CREDENTIALS error.
This is the payload of the request:
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:platformMsgs="urn:messages_2011_1.platform.webservices.netsuite.com" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:platformCore="urn:core_2011_1.platform.webservices.netsuite.com">
<env:Header>
<platformMsgs:passport>
<platformCore:email>email#email.com</platformCore:email>
<platformCore:password>--snip--</platformCore:password>
<platformCore:account>ACCOUNTNO</platformCore:account>
<platformCore:role type="role" internalId="ROLE"/>
</platformMsgs:passport>
</env:Header>
<env:Body>
<platformMsgs:get>
<platformMsgs:baseRef xsi:type="platformCore:RecordRef" internalId="4" type="customer"/>
</platformMsgs:get>
</env:Body>
</env:Envelope>
This is the payload of the response:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Server.userException</faultcode>
<faultstring>You have entered an invalid email address or account number. Please try again.</faultstring>
<detail>
<platformFaults:invalidCredentialsFault xmlns:platformFaults="urn:faults_2011_1.platform.webservices.netsuite.com">
<platformFaults:code>INVALID_LOGIN_CREDENTIALS</platformFaults:code>
<platformFaults:message>You have entered an invalid email address or account number. Please try again.</platformFaults:message>
</platformFaults:invalidCredentialsFault>
<ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">sb-partners-java002.svale.netledger.com</ns1:hostname>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
I've just solved the issue. If you're having trouble make sure that:
You are connecting to the right environment. (non-sandbox vs sandbox)
Your user (or your role) have WebServices permission (see in Permissions > Setup)
I faced both of the issues. My account, even belonging to an Administrator role, lacked Web Services permission. And I was using the sandbox url to a non-sandbox account.
https://webservices.na1.netsuite.com/wsdl/v2012_1_0/netsuite.wsdl (non-sandbox)
https://webservices.sandbox.netsuite.com/wsdl/v2012_1_0/netsuite.wsdl (sandbox)
Another possible cause of this issue is if the password contains + or % characters. Removing these from the password fixed this for me.
I created demo account on docusign demo site some days ago and I have the same problem "This Account lacks sufficient permissions" DocuSign.
Could you guys help me out of this? I really appreciate your help.
Update SOAP trace:
CreateAndSendEnvelope request
<MessageLogTraceRecord>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://www.docusign.net/API/3.0/CreateAndSendEnvelope</Action>
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CreateAndSendEnvelope xmlns="http://www.docusign.net/API/3.0">
<Envelope>
<AccountId>5b119284-64fd-4f85-877c-8825b2e73bc1</AccountId>
<Documents>
<Document>
<ID>1</ID>
<Name>a2a7b1a3efd6416ab00742a72cd00b97_DOCUSIGN_DATA.pdf</Name>
<PDFBytes></PDFBytes>
</Document>
</Documents>
<Recipients>
<Recipient>
<ID>1</ID>
<UserName>TEST 1 LAST</UserName>
<Email>TRUNGNGUYEN#INTERACTIVECONTACTCENTER.COM</Email>
<Type>Signer</Type>
<AccessCode xsi:nil="true"></AccessCode>
<RequireIDLookup>false</RequireIDLookup>
</Recipient>
</Recipients>
<Subject>sign</Subject>
<EmailBlurb></EmailBlurb>
</Envelope>
</CreateAndSendEnvelope>
</s:Body>
</s:Envelope>
</MessageLogTraceRecord>
CreateAndSendEnvelope response
<MessageLogTraceRecord>
<HttpResponse xmlns="http://schemas.microsoft.com/2004/06/ServiceModel/Management/MessageTrace">
<StatusCode>InternalServerError</StatusCode>
<StatusDescription>Internal Server Error</StatusDescription>
<WebHeaders>
<Vary>Accept-Encoding</Vary>
<Strict-Transport-Security>max-age=7776000; includeSubDomains</Strict-Transport-Security>
<Content-Length>1394</Content-Length>
<Cache-Control>private</Cache-Control>
<Content-Type>text/xml; charset=utf-8</Content-Type>
<Date>Wed, 25 Sep 2013 16:03:23 GMT</Date>
</WebHeaders>
</HttpResponse>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://schemas.xmlsoap.org/ws/2004/08/addressing/fault</wsa:Action>
<wsa:MessageID>urn:uuid:e12ae2b6-6328-4b5b-b553-95f422f66454</wsa:MessageID>
<wsa:RelatesTo>urn:uuid:9f37c1cf-d875-4acd-9b88-108e9b11efc2</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-14c52cbb-7b93-4541-9867-c16654c1629b">
<wsu:Created>2013-09-25T16:03:24Z</wsu:Created>
<wsu:Expires>2013-09-25T16:08:24Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<soap:Fault>
<faultcode xmlns="">soap:Client</faultcode>
<faultstring xmlns="">This Account lacks sufficient permissions. </faultstring>
<faultactor xmlns="">missing in Web.Config</faultactor>
<detail xmlns="">
<ErrorCode xmlns="missing in Web.Config">111</ErrorCode>
<ErrorReason xmlns="missing in Web.Config">This Account lacks sufficient permissions.</ErrorReason>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
</MessageLogTraceRecord>
This means that you are trying to use a feature or setting that is not enabled on your demo account. By default DocuSign enables all features on demo accounts so I'm not sure how your account got into a weird, semi-activated state.
In most situations this needs to be fixed by DocuSign on their side by someone going into your account and enabling a feature or setting.
I've gone through your account and enabled some things that should have been turned on, please try again.
I have a custom list on a sharepoint server. Each list item contains multiple file attachments . I am connecting to server with a SOAP-envelope request with this:
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<GetListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<listName>{A6888F11-0C37-4411-BC6D-1C9BA869B250}</listName>
<queryOptions>
<QueryOptions>
<IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns>
<ViewAttributes Scope="RecursiveAll"/>
<DateInUtc>TRUE</DateInUtc>
<IndividualProperties>TRUE</IndividualProperties>
<IncludeAttachmentUrls>TRUE</IncludeAttachmentUrls>
</QueryOptions>
</queryOptions>
</GetListItems>
</soap12:Body>
</soap12:Envelope>
The response is good, and I see a list of the URLs for each attachment. However, I am trying to also get the file size of each one in this request. What do I need to add in order to obtain this information?