I am working on getting Apple Pay integrated in my app through Cordova (Phonegap) and have successfully retrieved my Apple Pay token. I followed all the instructions outlined in both Apple Pay and ADN documentation. Generated all required keys and certificates (twice). I already have a working ADN integration using both CIM and AIM, so I know my integration is solid. I can process regular auth-capture transactions no problem.
I am working in the ADN sandbox and have tried switching my account between Live and Test, as well as switching test mode between True and False.
Here is the information I generated just now (redacted and truncated):
Apple Pay Token
eyJ2ZXJz.....2dKdWs9In19
Base 64 Decoded Apple Pay Token
{ "data" : "PtFJv.....UNFGg==",
"header" : { "ephemeralPublicKey" : "MFkwEw.....Baor01w==",
"publicKeyHash" : "Q1q.....Juk=",
"transactionId" : "c51.....b4"
},
"signature" : "MIAG.....AAAA",
"version" : "EC_v1"
}
ADN Request
<?xml version="1.0" encoding="UTF-8"?>
<createTransactionRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd">
<merchantAuthentication>
<name>REDACTED</name>
<transactionKey>REDACTED</transactionKey>
</merchantAuthentication>
<refId>C.....4</refId>
<transactionRequest>
<transactionType>authCaptureTransaction</transactionType>
<amount>5</amount>
<payment>
<opaqueData>
<dataDescriptor>COMMON.APPLE.INAPP.PAYMENT</dataDescriptor>
<dataValue>eyJ2ZX.....9In19</dataValue>
</opaqueData>
</payment>
</transactionRequest>
</createTransactionRequest>
ADN Response
<?xml version="1.0" encoding="UTF-8"?>
<createTransactionResponse xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<refId>CID2254674</refId>
<messages>
<resultCode>Error</resultCode>
<message>
<code>E00027</code>
<text>The transaction was unsuccessful.</text>
</message>
</messages>
<transactionResponse>
<responseCode>3</responseCode>
<authCode />
<avsResultCode>P</avsResultCode>
<cvvResultCode />
<cavvResultCode />
<transId>0</transId>
<refTransID />
<transHash>2E.....B72</transHash>
<testRequest>0</testRequest>
<accountNumber />
<accountType />
<errors>
<error>
<errorCode>153</errorCode>
<errorText>There was an error processing the payment data.</errorText>
</error>
</errors>
</transactionResponse>
</createTransactionResponse>
Needless to say, this error response is less than helpful. ANY help would be greatly appreciated. Also posted to ADN community forums.
Related
I've been working on a "kind" of integration with NetSuite. We are using Suitetalk/SOAP webservices in order to pull and push some data, basic stuff only as I'm not a netsuite expert.
It's been working good pulling data from Netsuite and pushing (adding) vendorBill only. At this point everything is working good.
But then I was requested to add (create) purchase orders and also itemReceipts.
I've managed to create purchase order but I'm struggling trying to create the itemReceipt. When I send it to Netsuite I get the error "Adding new line to sublist expense is not allowed.".
Follow below the request and the response xml.
Can someone help me to spot what I am doing wrong? what is missing?
Thank you very much. Cheers.
REQUEST
<?xml version="1.0"?>
-<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-<soap:Header>
-<preferences xmlns="urn:messages_2019_1.platform.webservices.netsuite.com">
<warningAsError>false</warningAsError>
<ignoreReadOnlyFields>true</ignoreReadOnlyFields>
</preferences>
-<tokenPassport xmlns="urn:messages_2019_1.platform.webservices.netsuite.com">
<account xmlns="urn:core_2019_1.platform.webservices.netsuite.com">1111111_SB1</account>
<consumerKey xmlns="urn:core_2019_1.platform.webservices.netsuite.com">****************************************************************</consumerKey>
<token xmlns="urn:core_2019_1.platform.webservices.netsuite.com">****************************************************************</token>
<nonce xmlns="urn:core_2019_1.platform.webservices.netsuite.com">1111100</nonce>
<timestamp xmlns="urn:core_2019_1.platform.webservices.netsuite.com">11111899</timestamp>
<signature xmlns="urn:core_2019_1.platform.webservices.netsuite.com" algorithm="HMAC-SHA1">****************************</signature>
</tokenPassport>
</soap:Header>
-<soap:Body>
-<add xmlns="urn:messages_2019_1.platform.webservices.netsuite.com">
-<record xmlns:q1="urn:purchases_2019_1.transactions.webservices.netsuite.com" xsi:type="q1:ItemReceipt">
<q1:entity type="vendor" internalId="19918834"/>
<q1:subsidiary internalId="15"/>
<q1:createdFrom type="purchaseOrder" internalId="28854986"/>
<q1:tranDate>2020-01-31T08:21:38.7482415Z</q1:tranDate>
<q1:memo>test memo</q1:memo>
<q1:currency type="currency" internalId="1"/>
-<q1:itemList>
-<q1:item>
<q1:itemReceive>true</q1:itemReceive>
<q1:item type="inventoryItem" internalId="1238"/>
<q1:location type="location" internalId="26"/>
<q1:quantity>1</q1:quantity>
<q1:rate>200</q1:rate>
</q1:item>
</q1:itemList>
-<q1:expenseList>
-<q1:expense>
<q1:markReceived>true</q1:markReceived>
<q1:account>117</q1:account>
<q1:amount>0</q1:amount>
</q1:expense>
</q1:expenseList>
</record>
</add>
</soap:Body>
</soap:Envelope>
RESPONSE
<?xml version="1.0"?>
-<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-<soapenv:Header>
-<platformMsgs:documentInfo xmlns:platformMsgs="urn:messages_2019_1.platform.webservices.netsuite.com">
<platformMsgs:nsId>WEBSERVICES_1111111_SB1_013120208906514922222545436_466a0e814</platformMsgs:nsId>
</platformMsgs:documentInfo>
</soapenv:Header>
-<soapenv:Body>
-<addResponse xmlns="urn:messages_2019_1.platform.webservices.netsuite.com">
-<writeResponse>
-<platformCore:status xmlns:platformCore="urn:core_2019_1.platform.webservices.netsuite.com" isSuccess="false">
-<platformCore:statusDetail type="ERROR">
<platformCore:code>USER_ERROR</platformCore:code>
<platformCore:message>Adding new line to sublist expense is not allowed.</platformCore:message>
</platformCore:statusDetail>
</platformCore:status>
</writeResponse>
</addResponse>
</soapenv:Body>
</soapenv:Envelope>
Bit late, but anyone else finding themselves here. Its because the order line was not supplied. If you don't supply it NS thinks you are creating a new line which you are not allwoed to do.
UpdateReservationRQ APi was working fine to update passsenger name in PNR.
suddenly its returning error
<stl15:Warnings>
<stl15:Warning>
<stl15:Message>PARTIAL ERROR</stl15:Message>
</stl15:Warning>
</stl15:Warnings>
<stl15:Errors>
<stl15:Error UpdateId="ID-1">
<stl15:Code>500900</stl15:Code>
<stl15:Message>.ENTRY VALID ONLY FOR SUBSCRIBER PNR</stl15:Message>
</stl15:Error>
</stl15:Errors>
I folowed steps to update name in PNR
1. Create session - SessionCreateRQ
2. Book ticket - EnhancedAirBookRQ
3. Create PNR - PassengerDetailsRQ
4. Read Itenary - TravelItineraryReadRQ
4. Update PNR - UpdateReservationRQ
below is the request for UpdateReservationRQ API
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" xmlns:ns1="http://webservices.sabre.com/pnrbuilder/getres" xmlns:ns12="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns13="http://www.w3.org/1999/xlink" xmlns:ns14="http://www.w3.org/2000/09/xmldsig#" xmlns:or="http://services.sabre.com/res/or/v1_8" xmlns:ota="http://webservices.sabre.com/sabreXML/2003/07" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:stl1="http://webservices.sabre.com/pnrbuilder/v1_15" xmlns:stl2="http://services.sabre.com/STL/v01" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xml="http://www.w3.org/XML/1998/namespace">
<SOAP-ENV:Header>
<sec:Security xmlns:sec="http://schemas.xmlsoap.org/ws/2002/12/secext">
<sec:BinarySecurityToken valueType="String" EncodingType="sec:Base64Binary">${#Project#sectoken}</sec:BinarySecurityToken>
</sec:Security>
<MessageHeader xmlns="http://www.ebxml.org/namespaces/messageHeader" version="1.0">
<eb:From>
<eb:PartyId type="urn:x12.org:IO5:01">99935345999</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId type="urn:x12.org:IO5:01">344535</eb:PartyId>
</eb:To>
<eb:CPAId>AB</eb:CPAId>
<eb:ConversationId>cpm23432</eb:ConversationId>
<eb:Service type="OTA">UpdateReservationOperation</eb:Service>
<eb:Action>UpdateReservationRQ</eb:Action>
<eb:MessageData>
<eb:MessageId>608926</eb:MessageId>
<eb:Timestamp>2017-05-22T15:49:07Z</eb:Timestamp>
</eb:MessageData>
</MessageHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<stl1:UpdateReservationRQ xmlns="http://webservices.sabre.com/pnrbuilder/v1_15" Version="1.15.0">
<stl1:RequestType>Stateless</stl1:RequestType>
<stl1:ReturnOptions IncludeUpdateDetails="true" RetrievePNR="true" />
<stl1:ReservationUpdateList>
<stl1:Locator>XPKCGL</stl1:Locator>
<stl1:CreateDate>2017-05-23</stl1:CreateDate>
<stl1:ReservationUpdateItem UpdateId="ID-1">
<stl1:PassengerNameUpdate op="U">
<stl1:TravelerName type="ADT" referenceId="1">
<stl1:Given>RamRaj</stl1:Given>
<stl1:Surname>Des</stl1:Surname>
</stl1:TravelerName>
<stl1:NameAssociationTag>
<stl1:LastName>DESHMUKH</stl1:LastName>
<stl1:FirstName>PRAVEEN</stl1:FirstName>
<stl1:NameRefNumber>01.01</stl1:NameRefNumber>
</stl1:NameAssociationTag>
</stl1:PassengerNameUpdate>
</stl1:ReservationUpdateItem>
<stl1:ReceivedFrom>
<stl1:AgentName>CPM MBE</stl1:AgentName>
</stl1:ReceivedFrom>
</stl1:ReservationUpdateList>
</stl1:UpdateReservationRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Any suggestion is appreciated to identify the issue in request or flow.
From Format Finder (ref pnrfo044):
If the electronic ticket has not been issued, please refer to the name change restriction table for the carrier.
Once an electronic ticket has been issued in a record, some carriers may allow a name change but others do not. Please refer to the
electronic ticket profile for the specific validating carrier for name
change restrictions.
You may need to check with the carrier if this is allowed or not.
I've been able to make successfull call to first ACA web service and I thought, that getting status would be a breeze. Bo-o-oy how I have been wrong!
I've used same settings for the status service as I did for the submit one... and I got "WS Security header is invalid error!" What gives?!?! Signature generation code is the same as I been using for submission! I would appreciate if any one would be able shed some light what possibly is wrong here?
I am aware, that following tags should be digitally signed(and I do signed them):
ACABusinessHeader
ACABulkRequestTransmitterStatusDetailRequest
Security timestamp
Here is my Request:
POST https://la.www4.irs.gov/airp/aca/a2a/1095BC_Status_Request_AATS2016 HTTP/1.1
Content-Type: text/xml; charset=utf-8
SOAPAction: "RequestSubmissionStatusDetail"
Host: la.www4.irs.gov
Content-Length: 5217
Expect: 100-continue
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
<s:Envelope xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="#_1">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>KBLc15A=</DigestValue>
</Reference>
<Reference URI="#_2">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>dhkLQhzfkc=</DigestValue>
</Reference>
<Reference URI="#TS-ccf5abbbd36940f693d56b21ab489674">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>O179zVlJnyo=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>REDUCTED</SignatureValue>
<KeyInfo>
<wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:KeyIdentifier ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">-- Base64ed cert ---</wsse:KeyIdentifier>
</wsse:SecurityTokenReference>
</KeyInfo>
</Signature>
<u:Timestamp u:Id="TS-ccf5abbbd36940f693d56b21ab489674">
<u:Created>2016-04-01T15:02:00.505Z</u:Created>
<u:Expires>2016-04-01T15:12:00.506Z</u:Expires>
</u:Timestamp>
</wsse:Security>
<abh:ACABusinessHeader u:Id="_1" xmlns:abh="urn:us:gov:treasury:irs:msg:acabusinessheader">
<UniqueTransmissionId xmlns="urn:us:gov:treasury:irs:ext:aca:air:7.0">REDUCTED</UniqueTransmissionId>
<Timestamp xmlns="urn:us:gov:treasury:irs:common">2016-04-01T11:02:58Z</Timestamp>
</abh:ACABusinessHeader>
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ACABulkRequestTransmitterStatusDetailRequest u:Id="_2" version="1.0" xmlns="urn:us:gov:treasury:irs:msg:irstransmitterstatusrequest">
<ACABulkReqTrnsmtStsReqGrpDtl xmlns="urn:us:gov:treasury:irs:ext:aca:air:7.0">
<ReceiptId xmlns="urn:us:gov:treasury:irs:common">Receit Id</ReceiptId>
</ACABulkReqTrnsmtStsReqGrpDtl>
</ACABulkRequestTransmitterStatusDetailRequest>
</s:Body>
UPDATE1: I am more and more convinced, that something is up on their end with our certificate and status service. It looks like they unable to map receipt id to the proper certificate. At least they conformed, that structurally there is nothing wrong with the XML, that I've been sending them. But they unable to identify the actual problem. IRS asked me to resent them my request in the email again for farther investigation, which I did. Now will wait and c what will happen.
Well, long story short. Status service is working now. After all back'n'forthing IRS development team removed client configurations, which where marked as deleted and after that, seems, status service got itself a spirit to work. I am a bit weary about how situation has been resolved, but if it eventually started to work - let it be!
(I don't have enough reputation to add a comment)
#fatherOfWine, I noticed that the InclusiveNamespaces element is missing in your Transform elements. Sorry for stating something that you might already know, the included namespaces are factored in in the canonicalization of the XML and eventually the calculation of the SHA1 digests.
Send an email to IRS' ACA Technical Support and ask them to look at their logs if the three digest values you send are passing or matching their calculations. They'll be able to at least identify which of your digest values are passing and failing their checks. Let them know the TCC and local time you sent the request.
I have a package of many JAX-WS web services that run in WebSphere 7 where I had configured a data-source to a DB2 database including the JAAS authentication under an alias.
Now, i just want to test the logic of my DAOs, where -of course- I have an entity manager. So, I created an application client project, partially guided by this tutorial http://www.ibm.com/developerworks/rational/library/08/0219_jadhav/, where I have :
an application-client.xml
<?xml version="1.0" encoding="UTF-8"?>
<application-client version="5"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application-client_5.xsd" metadata-complete="false">
<display-name>ServiciosAcademicoTests</display-name>
<resource-ref>
<res-ref-name>ServiciosAcademicoTests</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Application</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
a ibm-application-client-bnd.xml
<?xml version="1.0" encoding="UTF-8"?>
<application-client-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-application-client-bnd_1_0.xsd" version="1.0">
<resource-ref name="ServiciosAcademicoTests" binding-name="java:comp/env/jdbc/MyDB">
</resource-ref>
</application-client-bnd>
When I run my test, it returns the following error "Null userid is not supported." :
<openjpa-1.2.1- (...) fatal general error> org.apache.openjpa.persistence.PersistenceException: **Null userid is not supported.** ERRORCODE=-4461
I tried specifying and authentication in the ibm-application-client-bnd.xml but I'm still getting the same error :
<?xml version="1.0" encoding="UTF-8"?>
<application-client-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-application-client-bnd_1_0.xsd"
version="1.0">
<resource-ref name="ServiciosAcademicoTests" binding-name="java:comp/env/jdbc/MyDB">
<authentication-alias name="dmfloresNode01/XXX "/>
</resource-ref>
Just in case, my unit test is this :
public class CursosTest extends TestCase {
ICursoDAO cursoDAO; // From another project
Integer idAlumno = 123456;
String usuarioPortal = "xxx";
public void testCursosLlevados() throws Exception {
cursoDAO = new CursoDAO();
List<CursoLlevadoVO> lstCursos = cursoDAO
.obtenerCursosLlevadosPorAlumno(idAlumno, usuarioPortal);
if (lstCursos != null) {
for (CursoLlevadoVO cursoLlevadoVO : lstCursos) {
System.out.println(cursoLlevadoVO.getNombre());
}
}
assertNotNull(lstCursos);
}
}
I detected that the problem happen when the entitymanager is created :
entityManagerFactory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
entityManager = entityManagerFactory.createEntityManager(); // <-- here
Could you help me, please ? two days looking for a solution :( .
UPDATE :
I think that my application-client even isn't querying the data source, because I changed the jdbc/MyDB to jdbc/XXX and the problem is the same (http://www-01.ibm.com/support/docview.wss?uid=swg21596108 , I'm not getting the "Could not lookup datasource named" message but it could be a cause). Also I tried to deactivate the authentication to the data source in the administrative console of Websphere, but I'm getting same results.
This is my persistence.xml file on the project of webservices (that runs fine, the problem is my application-client that is using a DAO class just for testing purposes, not for testing webservice just in case) :
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="ServiciosAcademico">
<jta-data-source>jdbc/MyDB</jta-data-source>
<class>...</class>
<properties>
<property name="openjpa.jdbc.Schema" value="XXX"/>
</properties>
</persistence-unit>
. This is my data source on websphere, it's under a certain scope :
Day 3 :
Probably, when I remove the alias for the data source I get the same message, so the application-client could be ok about connecting to the data source, but this isn't using any authorization method.
Thanks for your help. I'm a novice of WebSphere.
I'm trying to retrieve list data from a Sharepoint 2010 server using the webservice at DspSts.asmx. (Nope can't use oData here - long story). The WSDL suggests the following format:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp">
<SOAP-ENV:Header>
<dsp:authentication/>
<dsp:dataRoot>
<dsp:root>STRING </dsp:root>
</dsp:dataRoot>
<dsp:request document="" method=""/>
<dsp:versions>
<dsp:version>STRING </dsp:version>
</dsp:versions>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<dsp:queryRequest/>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
So I created the following sample request code (and send it out using Oxygen XML):
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp">
<SOAP-ENV:Header>
<dsp:authentication/>
<dsp:dataRoot allowRemoteDataAccess="true" >
<dsp:root />
</dsp:dataRoot>
<dsp:request service="DspSts" document="content" method="query"></dsp:request>
<dsp:versions>
<dsp:version>1.0</dsp:version>
</dsp:versions>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<dsp:queryRequest>
<dsQuery select="/list[#id='{8F3269B6-02EA-44C5-BA2B-BA8A4D5E9C44}']" resultContent="dataOnly" columnMapping="element" resultRoot="Rows" resultRow="Row">
<Query QueryType="DSPQ">
<Fields>
<AllFields />
</Fields>
</Query>
</dsQuery>"
</dsp:queryRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
However when I send that query I do not get a login prompt (when I use the list web service I get one) and then an error result:
<?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:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<soap:Fault>
<faultcode>soap:Client.Dsp.InvalidSite</faultcode>
<faultstring>Failed to verify user permissions.</faultstring>
<detail>
<queryResponse xmlns="http://schemas.microsoft.com/sharepoint/dsp">
<dsQueryResponse status="failure"/>
</queryResponse>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
I'm using a hosted Sharepoint, so I don't know if I can tweak any security setting. Now my questions:
How can I enforce authentication?
What do I need to put into dsp:authentication
What to put in dsp:root
All samples I found didn't have dsp:authentication or dsp:root in it.
Help is very much appreciated
There actually is a work around. If you read a different Sharepoint web service first, e.g. Lists.asmx, then you are properly prompted for credentials and the following calls to DspSts.asmx use the digest credentials created in the first call.