Hi T.J.,
Thanks so much for your reply and information.
I have followed the link to get the url (You literally need to call https://login.eloqua.com/id. To see what this looks like, log directly into Eloqua in a browser. Now, open a new tab in the same browser and navigate to https://login.eloqua.com/id. You'll get a JSON response containing the information you need, including the base URL for your instance.). I got below response:
{"site":{"id":1134754694,"name":"TechnologyPartnerWelocalize"},"user":{"id":12,"username":"Leo.Chen","displayName":"Leo Chen","firstName":"Leo","lastName":"Chen","emailAddress":"leo.chen@welocalize.com"},"urls":{"base":"https://www02.secure.eloqua.com","apis":{"soap":{"standard":"https://www02.secure.eloqua.com/API/{version}/Service.svc","dataTransfer":"https://www02.secure.eloqua.com/API/{version}/DataTransferService.svc","email":"https://www02.secure.eloqua.com/API/{version}/EmailService.svc","externalAction":"https://www02.secure.eloqua.com/API/{version}/ExternalActionService.svc"},"rest":{"standard":"https://www02.secure.eloqua.com/API/REST/{version}/","data":"https://www02.secure.eloqua.com/API/Data/{version}/","bulk":"https://www02.secure.eloqua.com/API/Bulk/{version}/"}}}}
Then I used https://www02.secure.eloqua.com/API/1.2/Service.svc?wsdl to create client code and use Eloqua Service in the sample code
EloquaStub stub = new EloquaStub(ctx,
"https://www02.secure.eloqua.com/API/1.2/Service.svc");
But I got below error:
Exception in thread "main" org.apache.axis2.AxisFault: SOAP header missing
at org.apache.rampart.handler.RampartReceiver.setFaultCodeAndThrowAxisFault(RampartReceiver.java:180)
at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:99)
at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340)
at org.apache.axis2.engine.Phase.invoke(Phase.java:313)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:168)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:364)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at com.eloqua.secure.api.EloquaStub.listAssetTypes(EloquaStub.java:1928)
at com.eloqua.sample.WSConsoleClient.main(WSConsoleClient.java:36)
Caused by: org.apache.rampart.RampartException: SOAP header missing
at org.apache.rampart.RampartEngine.process(RampartEngine.java:96)
at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92)
... 10 more
What did I miss to make this error happen? Can you please advise?
To answer your second question, our project has a requirement of this:
Build a connector for Oracle Eloqua.
Use case:
- Checkout assets (emails, landing pages and forms) from Eloqua and create stuff in our own project called a job (for translation).
- After the job is done and exported, checkin localized assets back to Eloqua
Any other better solution besides using SOAP API? Please advise. Many thanks in advance.