I trying to stream notification from exchange server to my meterojs application.
I am sending following SOAP message as streaming subscription request:
{
"body":{
"m:Subscribe":{
"m:StreamingSubscriptionRequest":{
"t:FolderIds":{
"t:DistinguishedFolderId":{
"attributes":[
{
"Id":"calendar"
}
]
}
},
"t:EventTypes":{
"t:EventType":"CreatedEvent"
}
}
}
},
"headers":{
"Authorization":"Basic YW5kZXJzLmthcmxzc29uQGNlcnR1c2ludGVybmF0aW9uYWwub25taWNyb3NvZnQuY29tOmxpaXNzc29vb280MzIh"
},
"additionalNamespaces":[
"xmlns:m=\"http://schemas.microsoft.com/exchange/services/2006/messages\"",
"xmlns:t=\"http://schemas.microsoft.com/exchange/services/2006/types\""
],
"soapHeader":"",
"method":"POST",
"url":"https://outlook.office365.com/EWS/Exchange.asmx"
}
I get following response with subscription ID:
{
"xmlns:s":"http://schemas.xmlsoap.org/soap/envelope/",
"MajorVersion":"15",
"MinorVersion":"1",
"MajorBuildNumber":"434",
"MinorBuildNumber":"14",
"xmlns:h":"http://schemas.microsoft.com/exchange/services/2006/types",
"xmlns:xsd":"http://www.w3.org/2001/XMLSchema",
"xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance",
"xmlns:m":"http://schemas.microsoft.com/exchange/services/2006/messages",
"xmlns:t":"http://schemas.microsoft.com/exchange/services/2006/types",
"ResponseClass":"Success",
"m:ResponseCode":"NoError",
"m:SubscriptionId":"JwBkYjVwcjA3bWIxMzk3LmV1cnByZDA3LnByb2Qub3V0bG9vay5jb20QAAAA/wYNryw5gEeJFs3T7NXJvglEUWvERtMIEAAAAPP2lIvBykJBqcK1FSVk+mk="
}
Per documentation next step is to sent get strsaming events request with subscription ID:
{
"body":{
"GetStreamingEvents":{
"attributes":[
{
"xmlns":"http://schemas.microsoft.com/exchange/services/2006/messages"
}
],
"SubscriptionId":"JwBkYjVwcjA3bWIxMzk3LmV1cnByZDA3LnByb2Qub3V0bG9vay5jb20QAAAA/wYNryw5gEeJFs3T7NXJvglEUWvERtMIEAAAAPP2lIvBykJBqcK1FSVk+mk=",
"ConnectionTimeout":30
}
},
"headers":{
"Authorization":"Basic YW5kZXJzLmthcmxzc29uQGNlcnR1c2ludGVybmF0aW9uYWwub25taWNyb3NvZnQuY29tOmxpaXNzc29vb280MzIh"
},
"additionalNamespaces":[
"xmlns:m=\"http://schemas.microsoft.com/exchange/services/2006/messages\"",
"xmlns:t=\"http://schemas.microsoft.com/exchange/services/2006/types\""
],
"soapHeader":{
"t:RequestServerVersion":{
"attributes":[
{
"Version":"Exchange2013"
}
]
}
},
"method":"POST",
"url":"https://outlook.office365.com/EWS/Exchange.asmx"
}
On this I get response with status 500 and response body:
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<s:Envelope
xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">
<s:Body>
<s:Fault>
<faultcode
xmlns:a=\"http://schemas.microsoft.com/exchange/services/2006/types\">a:ErrorSchemaValidation
</faultcode>
<faultstring xml:lang=\"en-US\">The request failed schema validation: The element 'GetStreamingEvents' in namespace 'http://schemas.microsoft.com/exchange/services/2006/messages' has invalid child element 'SubscriptionId' in namespace 'http://schemas.microsoft.com/exchange/services/2006/messages'. List of possible elements expected: 'SubscriptionIds' in namespace 'http://schemas.microsoft.com/exchange/services/2006/messages'.</faultstring>
<detail>
<e:ResponseCode
xmlns:e=\"http://schemas.microsoft.com/exchange/services/2006/errors\">ErrorSchemaValidation
</e:ResponseCode>
<e:Message
xmlns:e=\"http://schemas.microsoft.com/exchange/services/2006/errors\">The request failed schema validation.
</e:Message>
<t:MessageXml
xmlns:t=\"http://schemas.microsoft.com/exchange/services/2006/types\">
<t:LineNumber>3</t:LineNumber>
<t:LinePosition>201</t:LinePosition>
<t:Violation>The element 'GetStreamingEvents' in namespace 'http://schemas.microsoft.com/exchange/services/2006/messages' has invalid child element 'SubscriptionId' in namespace 'http://schemas.microsoft.com/exchange/services/2006/messages'. List of possible elements expected: 'SubscriptionIds' in namespace 'http://schemas.microsoft.com/exchange/services/2006/messages'.</t:Violation>
</t:MessageXml>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
Can you please advise on this.
Update:
New request with corrections:
{
"body":{
"m:GetStreamingEvents":{
"m:SubscriptionIds":{
"t:SubscriptionId":"JwBhbTRwcjA3bWIxMzk1LmV1cnByZDA3LnByb2Qub3V0bG9vay5jb20QAAAAnjsBVFou+0u0dglnKKEJ0CDsxAkYR9MIEAAAAPP2lIvBykJBqcK1FSVk+mk="
},
"m:ConnectionTimeout":30
}
},
"headers":{
"Authorization":"Basic YW5kZXJzLmthcmxzc29uQGNlcnR1c2ludGVybmF0aW9uYWwub25taWNyb3NvZnQuY29tOmxpaXNzc29vb280MzIh"
},
"additionalNamespaces":[
"xmlns:m=\"http://schemas.microsoft.com/exchange/services/2006/messages\"",
"xmlns:t=\"http://schemas.microsoft.com/exchange/services/2006/types\""
],
"soapHeader":{
"t:RequestServerVersion":{
"attributes":[
{
"Version":"Exchange2013"
}
]
}
},
"method":"POST",
"url":"https://outlook.office365.com/EWS/Exchange.asmx"
}
New response with different error:
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<s:Envelope
xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">
<s:Body>
<s:Fault>
<faultcode
xmlns:a=\"http://schemas.microsoft.com/exchange/services/2006/types\">a:ErrorSchemaValidation
</faultcode>
<faultstring xml:lang=\"en-US\">The request failed schema validation: The 'http://schemas.microsoft.com/exchange/services/2006/messages:ConnectionTimeout' element is invalid - The value 'undefined' is invalid according to its datatype 'http://schemas.microsoft.com/exchange/services/2006/types:StreamingSubscriptionConnectionTimeoutType' - The string 'undefined' is not a valid Int32 value.</faultstring>
<detail>
<e:ResponseCode
xmlns:e=\"http://schemas.microsoft.com/exchange/services/2006/errors\">ErrorSchemaValidation
</e:ResponseCode>
<e:Message
xmlns:e=\"http://schemas.microsoft.com/exchange/services/2006/errors\">The request failed schema validation.
</e:Message>
<t:MessageXml
xmlns:t=\"http://schemas.microsoft.com/exchange/services/2006/types\">
<t:LineNumber>3</t:LineNumber>
<t:LinePosition>361</t:LinePosition>
<t:Violation>The 'http://schemas.microsoft.com/exchange/services/2006/messages:ConnectionTimeout' element is invalid - The value 'undefined' is invalid according to its datatype 'http://schemas.microsoft.com/exchange/services/2006/types:StreamingSubscriptionConnectionTimeoutType' - The string 'undefined' is not a valid Int32 value.</t:Violation>
</t:MessageXml>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
I don't think the online documentation is correct a working request should look like
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<t:RequestServerVersion Version="Exchange2013" />
<t:ExchangeImpersonation>
<t:ConnectingSID>
<t:SmtpAddress>target#Mailbox.com</t:SmtpAddress>
</t:ConnectingSID>
</t:ExchangeImpersonation>
</soap:Header>
<soap:Body>
<m:GetStreamingEvents>
<m:SubscriptionIds>
<t:SubscriptionId>JwB0eTFwcjA0bWIwNzE4LmFwY3ByZDA0LnByb2Qub3V0bG9vay5jb20QAAAAhKGBpeZ5jEWJiN8rkO4xNxQ6jxrvRtMIEAAAAGhtpJbjoodMsSowkUdd9qk=</t:SubscriptionId>
</m:SubscriptionIds>
<m:ConnectionTimeout>15</m:ConnectionTimeout>
</m:GetStreamingEvents>
</soap:Body>
</soap:Envelope>
So the error your getting back makes sense because your missing the SubscriptionIds element. (Not sure why doco is wrong)
Cheers
Glen
Related
I am getting an error:
Mirage: Your Ember app tried to GET 'http://localhost:3006/data.json',
but there was no route defined to handle this request.
Define a route that matches this path in your mirage/config.js file.
Did you forget to add your namespace?
So following the documentation of mirage i added this:
this.passthrough('http://localhost:3006/data.json');
Even though after adding passthrough, I am getting such Response instead of JSON Object returned from the network api call.
The Actual Request i am making is:
fetch(`${host}/data.json`)
.then(res => res.json())
.then(data => {
// my operation on data
});
The response i am getting is:
{bodyUsed: true
headers: Headers {map: {…}}
ok: true
status: 200
statusText: "OK"
type: "default"
url: "http://localhost:3006/data.json"
_bodyInit: null
_bodyText: ""}
But I am expecting:
{
"files":
{
"x": "any",
"a": "any",
"b": "any",
"c": "any"
}
}
I kept a debugger in Pretender.js which is sending the FakeRequest and there in its object, I see that FakeRequest has responseType="" and response as null. And somehow my responseText has value but that is not considered and response value is considered and receiving null.
Also there is a logic which is return saying
"response" in xhr ? xhr.response : xhr.responseText
In this case i have response property but its value is null. Hence according to the above condition it is returning xhr.response which is null
Thanks in Advance.
My goal is to audit deletion of authorities in Alfresco. When audit logging is enabled (which generates a lot of log entries), deleting a group results in these log entries (shortend):
/alfresco-api/pre/AuthorityService/deleteAuthority/args/name=GROUP_test_group_for_audit
/alfresco-node/beforeDeleteNode/node=workspace://SpacesStore/a4f5e9bb-6584-4997-a550-6080d0dce177
/alfresco-api/post/AuthorityService/deleteAuthority/args/name=GROUP_test_group_for_audit
/alfresco-api/post/AuthorityService/deleteAuthority/no-error=null
If I understand the documentation correctly, an audit XML file like this should record the first event:
<?xml version='1.0' encoding='UTF-8'?>
<Audit
xmlns="http://www.alfresco.org/repo/audit/model/3.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.alfresco.org/repo/audit/model/3.2 alfresco-audit-3.2.xsd"
>
<DataExtractors>
<DataExtractor name="simpleValue" registeredName="auditModel.extractor.simpleValue"/>
</DataExtractors>
<DataGenerators>
<DataGenerator name="currentUser" class="org.alfresco.repo.audit.generator.AuthenticatedUserDataGenerator"/>
<DataGenerator name="personFullName" class="org.alfresco.repo.audit.generator.AuthenticatedPersonDataGenerator"/>
</DataGenerators>
<PathMappings>
<PathMap source="/alfresco-api/pre/AuthorityService/deleteAuthority" target="/deleteAuthority"/>
</PathMappings>
<Application name="DeleteAuthority" key="deleteAuthority">
<AuditPath key="deleteAuthority">
<RecordValue key="name" dataExtractor="simpleValue" dataSource="/deleteAuthority/args/name"/>
</AuditPath>
</Application>
</Audit>
Note that in the source of the PathMap I use the path /alfresco-api/pre/AuthorityService/deleteAuthority as it appears in the first log entry. This looks correct to me, even though I am quite unsure how the Application element should look.
Putting this into the XML file tomcat/shared/classes/alfresco/extension/audit/alfresco-audit-deleteAuthority-extractors.xml registers the application correclty:
$ curl -u 'admin:secret' http://alfresco:8080/alfresco/service/api/audit/control
{
"enabled" : true,
"applications":
[
{
"name": "Alfresco Tagging Service",
"path" : "/tagging",
"enabled" : true
}
,
{
"name": "DeleteAuthority",
"path" : "/deleteAuthority",
"enabled" : true
}
,
{
"name": "alfresco-access",
"path" : "/alfresco-access",
"enabled" : true
}
]
}
But when I now delete a group, nothing is recorded. A query for the application returns an empty result:
$ curl -u 'admin:secret' http://alfresco:8080/alfresco/service/api/audit/query/DeleteAuthority
{
"count":0,
"entries":
[
]
}
Question: Is my above audit application configuration correct? How would I have to change it to generate audit entries for the deletion of authorities?
Your path-mapping section is correct, your application definition though is not set correctly to track the correct path.
You probably should try something like :
<?xml version='1.0' encoding='UTF-8'?>
<Audit
xmlns="http://www.alfresco.org/repo/audit/model/3.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.alfresco.org/repo/audit/model/3.2 alfresco-audit-3.2.xsd"
>
<DataExtractors>
<DataExtractor name="simpleValue" registeredName="auditModel.extractor.simpleValue"/>
</DataExtractors>
<DataGenerators>
<DataGenerator name="currentUser" registeredName="auditModel.generator.user"/>
</DataGenerators>
<PathMappings>
<PathMap source="/alfresco-api/pre/AuthorityService/deleteAuthority" target="/deleteAuthority"/>
</PathMappings>
<Application name="DeleteAuthority" key="deleteAuthority">
<AuditPath key="deleteAuthority">
<RecordValue key="authority" dataExtractor="simpleValue" dataSource="/deleteAuthority/args/name" dataTrigger="/deleteAuthority/args/name"/>
<GenerateValue key="deletingUser" dataGenerator="currentUser"/>
</AuditPath>
</Application>
</Audit>
I have a consumer that has successfully created a pact file:
{
"consumer": {
"name": "CakeService"
},
"provider": {
"name": "CoolPersonService"
},
"interactions": [
{
"description": "A GET request to get a person who is cool",
"providerState": "There is a person who has IsCool set to 'true'6",
"request": {
"method": "get",
"path": "/CoolPersonService/persons/e674a2d0-57e6-471d-96dd-a91c0077283a",
"headers": {
"X-Requested-With": "XMLHttpRequest",
"CallerName": "Pact_Test#Local"
}
},
"response": {
"status": 200,
"headers": {
"Content-Type": "application/json; charset=utf-8"
},
"body": {
"FirstName": "Some",
"LastName": "Name",
"IsCool": true
}
}
}
],
"metadata": {
"pactSpecification": {
"version": "2.0.0"
}
}
}
The problem is the test for the provider. It gets a 404 for
/CoolPersonService/persons/e674a2d0-57e6-471d-96dd-a91c0077283a
but if I send a GET to that route using an HTTP client, I get a 200 response and the expected data is returned.
Here's the output from the test run:
Test Name: EnsureSomethingApiHonoursPactwithConsumer
Test Outcome: Failed
Result Message:
Test method PactTests.PactTests.EnsureSomethingApiHonoursPactwithConsumer threw exception:
PactNet.PactFailureException: Pact verification failed. See output for details.
If the output is empty please provide a custom config.Outputters (IOutput) for your test framework, as we couldn't write to the console.
Result StandardOutput:
[2018-07-13 10:59:05] INFO WEBrick 1.3.1
[2018-07-13 10:59:05] INFO ruby 2.2.2 (2015-04-13) [i386-mingw32]
..........++++++
..........++++++
[2018-07-13 10:59:07] INFO
[2018-07-13 10:59:07] INFO WEBrick::HTTPServer#start: pid=109760 port=9222
[2018-07-13 10:59:07] ERROR Errno::ECONNRESET: An existing connection was forcibly closed by the remote host.
C:/redacted/PactTests/bin/Debug/pact-win32/lib/ruby/lib/ruby/2.2.0/openssl/buffering.rb:61:in `sysread'
C:/redacted/PactTests/bin/Debug/pact-win32/lib/ruby/lib/ruby/2.2.0/openssl/buffering.rb:61:in `fill_rbuff'
C:/redacted/PactTests/bin/Debug/pact-win32/lib/ruby/lib/ruby/2.2.0/openssl/buffering.rb:301:in `eof?'
C:/redacted/PactTests/bin/Debug/pact-win32/lib/vendor/ruby/2.2.0/gems/webrick-1.3.1/lib/webrick/httpserver.rb:80:in `run'
C:/redacted/PactTests/bin/Debug/pact-win32/lib/vendor/ruby/2.2.0/gems/webrick-1.3.1/lib/webrick/server.rb:191:in `block in start_thread'
INFO: Reading pact at C:/redacted/PactTests/Pacts/cakeservice-coolpersonservice.json
Verifying a pact between CakeService and CoolPersonService
Given There is a person who has IsCool set to 'true'6
A GET request to get a person who is cool
with GET /CoolPersonService/persons/e674a2d0-57e6-471d-96dd-a91c0077283a
returns a response which
DEBUG: Setting up provider state 'There is a person who has IsCool set to 'true'6' for consumer 'CakeService' using provider state server at https://localhost/CoolPersonService/provider-states
I, [2018-07-13T10:59:11.805597 #102868] INFO -- request: POST https://localhost/CoolPersonService/provider-states
D, [2018-07-13T10:59:11.805597 #102868] DEBUG -- request: User-Agent: "Faraday v0.15.0"
Content-Type: "application/json"
I, [2018-07-13T10:59:23.352124 #102868] INFO -- response: Status 200
D, [2018-07-13T10:59:23.352625 #102868] DEBUG -- response: content-type: "application/json; charset=utf-8"
server: "redacted"
x-powered-by: "redacted"
date: "Fri, 13 Jul 2018 08:59:23 GMT"
connection: "close"
content-length: "84"
has status code 200 (FAILED - 1)
has a matching body (FAILED - 2)
includes headers
"Content-Type" which equals "application/json; charset=utf-8" (FAILED - 3)
Failures:
1) Verifying a pact between CakeService and CoolPersonService Given There is a person who has IsCool set to 'true'6 A GET request to get a person who is cool with GET /CoolPersonService/persons/e674a2d0-57e6-471d-96dd-a91c0077283a returns a response which has status code 200
Failure/Error: expect(response_status).to eql expected_response_status
expected: 200
got: 404
(compared using eql?)
2) Verifying a pact between CakeService and CoolPersonService Given There
is a person who has IsCool set to 'true'6 A GET request to get a person who is cool with GET /CoolPersonService/persons/e674a2d0-57e6-471d-96dd-a91c0077283a returns a response which has a matching body
>Failure/Error: expect(response_body).to match_term expected_response_body, diff_options, example
Encoding::UndefinedConversionError:
"\xC3" from ASCII-8BIT to UTF-8
3) Verifying a pact between CakeService and CoolPersonService Given There is a person who has IsCool set to 'true'6 A GET request to get a person who is cool with GET /CoolPersonService/persons/e674a2d0-57e6-471d-96dd-a91c0077283a returns a response which includes headers "Content-Type" which equals "application/json; charset=utf-8"
Failure/Error: expect(header_value).to match_header(name, expected_header_value)
Expected header "Content-Type" to equal "application/json; charset=utf-8", but was "text/html; charset=utf-8"
1 interaction, 1 failure
Failed interactions:
To re-run just this failing interaction, change the verify method to '.Verify(description: "A GET request to get a person who is cool", providerState: "There is a person who has IsCool set to 'true'6")'. Please do not check in this change! # A GET request to get a person who is cool given There is a person who has IsCool set to 'true'6
Here's the test method for the provider:
[TestMethod]
[TestCategory("Pact")]
public void EnsureSomethingApiHonoursPactwithConsumer()
{
const string serviceUri = "https://localhost/CoolPersonService";
var config = new PactVerifierConfig
{
Verbose = true
};
IPactVerifier pactVerifier = new PactVerifier(config);
pactVerifier
//.ProviderState($"{serviceUri}/provider-states")
.ProviderState($"{serviceUri}/provider-states")
.ServiceProvider("CoolPersonService", serviceUri)
.HonoursPactWith("CakeService")
.PactUri(#"C:\repos\Pact\API_CoolPersonService\PactTests\Pacts\cakeservice-coolpersonservice.json")
.Verify();
}
If you do a GET to a resource, and you get a 404, to me it sounds like the expected data is not present on the server - and that implies that the provider state has not been set up correctly.
Please read about provider states here https://docs.pact.io/getting-started/provider-states and here https://docs.pact.io/implementation-guides/ruby/provider-states#non-ruby-applications
If you do a POST to the same route and receive the response you expected from a GET, it may be that you have just created a new resource, and it is returning the body of the newly created resource.
I see that you are also having some encoding issues (Encoding::UndefinedConversionError: "\xC3" from ASCII-8BIT to UTF-8) I believe this has been fixed in the latest version of the underlying library (called the "pact standalone") so please ensure you have the latest version of pact-net. If you already do have the latest version of pact-net, then please raise an issue for the standalone to be upgraded.
For those still stumped by the issue, the "\xC3" from ASCII-8BIT to UTF-8 error also happens because the response by your provider couldn't be encoded e.g. your provider returns a 500 with a text/html response.
Here I'm trying to consume an API which is expecting an XML input. and also the response is in xml format.
This is my Adapter .xml file
<?xml version="1.0" encoding="UTF-8"?>
<wl:adapter name="IBMAPIM"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wl="http://www.ibm.com/mfp/integration"
xmlns:http="http://www.ibm.com/mfp/integration/http">
<displayName>IBMAPIM</displayName>
<description>IBMAPIM</description>
<connectivity>
<connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
<protocol>https</protocol>
<domain>api.apim.ibmcloud.com</domain>
<connectionTimeoutInMilliseconds>30000</connectionTimeoutInMilliseconds>
<socketTimeoutInMilliseconds>30000</socketTimeoutInMilliseconds>
<maxConcurrentConnectionsPerNode>50</maxConcurrentConnectionsPerNode>
</connectionPolicy>
</connectivity>
<procedure name="getStories"/>
</wl:adapter>
This is my Adapter imp.js file
function getStories() {
//path = getPath(interest);
var request ='<NS1:SapPordcr101 xmlns:NS1="http://www.ibm.com/xmlns/prod/websphere/j2ca/sap/sappordcr101"><SAPTransactionID>C0A801652A3D553A6496043A</SAPTransactionID><SapPordcr101IDocBO><SapIDocControlRecord><Rcvpor>SAPMB</Rcvpor><Sndprt>KU</Sndprt><Sndpfc></Sndpfc><Test></Test><Mescod></Mescod><Idoctyp>PORDCR101</Idoctyp><Sndprn>ECCCLNT800</Sndprn><Std></Std><Arckey></Arckey><Cretim>114317</Cretim><Doctyp></Doctyp><Tabnam>EDI_DC40</Tabnam><Credat>20150424</Credat><Refgrp></Refgrp><Outmod>2</Outmod><Mandt>800</Mandt><Rcvsad></Rcvsad><Mestyp>PORDCR1</Mestyp><Rcvprn>MBCLNTPOC1</Rcvprn><Stdvrs></Stdvrs><Rcvlad></Rcvlad><Direct>1</Direct><Sndlad></Sndlad><Exprss></Exprss><Sndsad></Sndsad><Docrel>731</Docrel><Serial></Serial><Sndpor>SAPE66</Sndpor><Docnum>0000000001213759</Docnum><Stdmes>PORDCR</Stdmes><Refint></Refint><Rcvpfc></Rcvpfc><Refmes></Refmes><Mesfct></Mesfct><Cimtyp></Cimtyp><Status>30</Status><Rcvprt>LS</Rcvprt></SapIDocControlRecord><SapPordcr101DataRecord><SapPordcr101E2pordcr1001><SapPordcr101E2bpmepoheader002><PoNumber>1000035279</PoNumber><CompCode>1002</CompCode><DocType>ZEPO</DocType><DeleteInd></DeleteInd><Status></Status><CreatDate></CreatDate><CreatedBy></CreatedBy><ItemIntvl>00010</ItemIntvl><Vendor>0001020626</Vendor><Langu></Langu><LanguIso></LanguIso><Pmnttrms></Pmnttrms><Dscnt1To></Dscnt1To><Dscnt2To></Dscnt2To><Dscnt3To></Dscnt3To><DsctPct1></DsctPct1><DsctPct2></DsctPct2><PurchOrg>1000</PurchOrg><PurGroup>E01</PurGroup><Currency>USD</Currency><CurrencyIso></CurrencyIso><ExchRate></ExchRate><ExRateFx></ExRateFx><DocDate></DocDate><VperStart></VperStart><VperEnd></VperEnd><Warranty></Warranty><Quotation></Quotation><QuotDate></QuotDate><Ref1></Ref1><SalesPers></SalesPers><Telephone></Telephone><SupplVend></SupplVend><Customer></Customer><Agreement></Agreement><GrMessage></GrMessage><SupplPlnt></SupplPlnt><Incoterms1></Incoterms1><Incoterms2></Incoterms2><CollectNo></CollectNo><DiffInv></DiffInv><OurRef>NAAPQS</OurRef></SapPordcr101E2bpmepoheader002><SapPordcr101E2bpmepoheaderx002><PoNumber>X</PoNumber><CompCode>X</CompCode><DocType>X</DocType><DeleteInd>X</DeleteInd><Status></Status><CreatDate></CreatDate><CreatedBy></CreatedBy><ItemIntvl>X</ItemIntvl><Vendor>X</Vendor><Langu></Langu><LanguIso></LanguIso><Pmnttrms></Pmnttrms><Dscnt1To></Dscnt1To><Dscnt2To></Dscnt2To><Dscnt3To></Dscnt3To><DsctPct1></DsctPct1><DsctPct2></DsctPct2><PurchOrg>X</PurchOrg><PurGroup>X</PurGroup><Currency>X</Currency><CurrencyIso></CurrencyIso><ExchRate></ExchRate><ExRateFx></ExRateFx><DocDate></DocDate><VperStart></VperStart><VperEnd></VperEnd><Warranty></Warranty><Quotation></Quotation><QuotDate></QuotDate><Ref1></Ref1><SalesPers></SalesPers><Telephone></Telephone><SupplVend></SupplVend><Customer></Customer><Agreement></Agreement><GrMessage></GrMessage><SupplPlnt></SupplPlnt><Incoterms1>X</Incoterms1><Incoterms2>X</Incoterms2><CollectNo></CollectNo><DiffInv></DiffInv><OurRef>X</OurRef></SapPordcr101E2bpmepoheaderx002><SapPordcr101E2bpmepoitem001><PoItem>00010</PoItem><DeleteInd></DeleteInd><ShortText>NEW Coke Contour PET BLACK Recycle Cente</ShortText><Material></Material><MaterialExternal></MaterialExternal><MaterialGuid></MaterialGuid><MaterialVersion></MaterialVersion><Ematerial></Ematerial><EmaterialExternal></EmaterialExternal><EmaterialGuid></EmaterialGuid><EmaterialVersion></EmaterialVersion><Plant>001</Plant><StgeLoc></StgeLoc><Trackingno></Trackingno><MatlGroup>PRKS</MatlGroup><InfoRec></InfoRec><VendMat>CBK47110</VendMat><Quantity>1.0</Quantity><PoUnit>EA</PoUnit><PoUnitIso></PoUnitIso><OrderprUn>EA</OrderprUn><OrderprUnIso></OrderprUnIso><ConvNum1></ConvNum1><ConvDen1></ConvDen1><NetPrice>48.65</NetPrice><PriceUnit></PriceUnit><GrPrTime></GrPrTime><TaxCode></TaxCode><BonGrp1></BonGrp1><QualInsp></QualInsp><InfoUpd></InfoUpd><PrntPrice></PrntPrice><EstPrice></EstPrice><Reminder1></Reminder1><Reminder2></Reminder2><Reminder3></Reminder3><OverDlvTol></OverDlvTol><UnlimitedDlv></UnlimitedDlv><UnderDlvTol></UnderDlvTol><ValType></ValType><NoMoreGr></NoMoreGr><FinalInv></FinalInv><ItemCat></ItemCat><Acctasscat>K</Acctasscat><Distrib></Distrib><PartInv></PartInv><GrInd></GrInd><GrNonVal></GrNonVal><IrInd></IrInd><FreeItem></FreeItem><GrBasediv></GrBasediv><AcknReqd></AcknReqd><AcknowlNo></AcknowlNo><Agreement></Agreement><AgmtItem></AgmtItem><Shipping></Shipping><Customer></Customer><CondGroup></CondGroup><NoDisct></NoDisct><PlanDel></PlanDel><NetWeight></NetWeight><Weightunit></Weightunit><WeightunitIso></WeightunitIso><Taxjurcode></Taxjurcode><CtrlKey></CtrlKey><ConfCtrl></ConfCtrl><RevLev></RevLev><Fund></Fund><FundsCtr></FundsCtr><CmmtItem></CmmtItem><Pricedate></Pricedate><PriceDate1></PriceDate1><GrossWt></GrossWt><Volume></Volume><Volumeunit></Volumeunit><VolumeunitIso></VolumeunitIso><Incoterms1></Incoterms1><Incoterms2></Incoterms2><PreVendor></PreVendor><VendPart></VendPart><HlItem></HlItem><GrToDate></GrToDate><SuppVendor></SuppVendor><ScVendor></ScVendor><KanbanInd></KanbanInd><Ers></Ers><RPromo></RPromo><Points></Points><PointUnit></PointUnit><PointUnitIso></PointUnitIso><Season></Season><SeasonYr></SeasonYr><BonGrp2></BonGrp2><BonGrp3></BonGrp3><SettItem></SettItem><Minremlife></Minremlife><RfqNo></RfqNo><RfqItem></RfqItem><PreqNo></PreqNo><PreqItem></PreqItem><RefDoc></RefDoc><RefItem></RefItem><SiCat></SiCat><RetItem></RetItem><AtRelev></AtRelev><OrderReason></OrderReason><BrasNbm></BrasNbm><MatlUsage></MatlUsage><MatOrigin></MatOrigin><InHouse></InHouse><Indus3></Indus3><InfIndex></InfIndex><UntilDate></UntilDate><DelivCompl></DelivCompl><PartDeliv></PartDeliv><ShipBlocked></ShipBlocked><PreqName>NAAPQS</PreqName></SapPordcr101E2bpmepoitem001><SapPordcr101E2bpmepoitem001><PoItem>00020</PoItem><DeleteInd></DeleteInd><ShortText>Dasani PET BLACK Recycle Center (bottles</ShortText><Material></Material><MaterialExternal></MaterialExternal><MaterialGuid></MaterialGuid><MaterialVersion></MaterialVersion><Ematerial></Ematerial><EmaterialExternal></EmaterialExternal><EmaterialGuid></EmaterialGuid><EmaterialVersion></EmaterialVersion><Plant>001</Plant><StgeLoc></StgeLoc><Trackingno></Trackingno><MatlGroup>PARK</MatlGroup><InfoRec></InfoRec><VendMat>CDP47100</VendMat><Quantity>1.0</Quantity><PoUnit>EA</PoUnit><PoUnitIso></PoUnitIso><OrderprUn>EA</OrderprUn><OrderprUnIso></OrderprUnIso><ConvNum1></ConvNum1><ConvDen1></ConvDen1><NetPrice>52.5</NetPrice><PriceUnit></PriceUnit><GrPrTime></GrPrTime><TaxCode></TaxCode><BonGrp1></BonGrp1><QualInsp></QualInsp><InfoUpd></InfoUpd><PrntPrice></PrntPrice><EstPrice></EstPrice><Reminder1></Reminder1><Reminder2></Reminder2><Reminder3></Reminder3><OverDlvTol></OverDlvTol><UnlimitedDlv></UnlimitedDlv><UnderDlvTol></UnderDlvTol><ValType></ValType><NoMoreGr></NoMoreGr><FinalInv></FinalInv><ItemCat></ItemCat><Acctasscat>K</Acctasscat><Distrib></Distrib><PartInv></PartInv><GrInd></GrInd><GrNonVal></GrNonVal><IrInd></IrInd><FreeItem></FreeItem><GrBasediv></GrBasediv><AcknReqd></AcknReqd><AcknowlNo></AcknowlNo><Agreement></Agreement><AgmtItem></AgmtItem><Shipping></Shipping><Customer></Customer><CondGroup></CondGroup><NoDisct></NoDisct><PlanDel></PlanDel><NetWeight></NetWeight><Weightunit></Weightunit><WeightunitIso></WeightunitIso><Taxjurcode></Taxjurcode><CtrlKey></CtrlKey><ConfCtrl></ConfCtrl><RevLev></RevLev><Fund></Fund><FundsCtr></FundsCtr><CmmtItem></CmmtItem><Pricedate></Pricedate><PriceDate1></PriceDate1><GrossWt></GrossWt><Volume></Volume><Volumeunit></Volumeunit><VolumeunitIso></VolumeunitIso><Incoterms1></Incoterms1><Incoterms2></Incoterms2><PreVendor></PreVendor><VendPart></VendPart><HlItem></HlItem><GrToDate></GrToDate><SuppVendor></SuppVendor><ScVendor></ScVendor><KanbanInd></KanbanInd><Ers></Ers><RPromo></RPromo><Points></Points><PointUnit></PointUnit><PointUnitIso></PointUnitIso><Season></Season><SeasonYr></SeasonYr><BonGrp2></BonGrp2><BonGrp3></BonGrp3><SettItem></SettItem><Minremlife></Minremlife><RfqNo></RfqNo><RfqItem></RfqItem><PreqNo></PreqNo><PreqItem></PreqItem><RefDoc></RefDoc><RefItem></RefItem><SiCat></SiCat><RetItem></RetItem><AtRelev></AtRelev><OrderReason></OrderReason><BrasNbm></BrasNbm><MatlUsage></MatlUsage><MatOrigin></MatOrigin><InHouse></InHouse><Indus3></Indus3><InfIndex></InfIndex><UntilDate></UntilDate><DelivCompl></DelivCompl><PartDeliv></PartDeliv><ShipBlocked></ShipBlocked><PreqName>NAAPQS</PreqName></SapPordcr101E2bpmepoitem001><SapPordcr101E2bpmepoitemx004><PoItem>00010</PoItem><PoItemx></PoItemx><DeleteInd>X</DeleteInd><ShortText>X</ShortText><Material></Material><MaterialExternal></MaterialExternal><MaterialGuid></MaterialGuid><MaterialVersion></MaterialVersion><Ematerial></Ematerial><EmaterialExternal></EmaterialExternal><EmaterialGuid></EmaterialGuid><EmaterialVersion></EmaterialVersion><Plant>X</Plant><StgeLoc></StgeLoc><Trackingno></Trackingno><MatlGroup>X</MatlGroup><InfoRec></InfoRec><VendMat>X</VendMat><Quantity>X</Quantity><PoUnit>X</PoUnit><PoUnitIso></PoUnitIso><OrderprUn>X</OrderprUn><OrderprUnIso></OrderprUnIso><ConvNum1></ConvNum1><ConvDen1></ConvDen1><NetPrice>X</NetPrice><PriceUnit></PriceUnit><GrPrTime></GrPrTime><TaxCode></TaxCode><BonGrp1></BonGrp1><QualInsp></QualInsp><InfoUpd></InfoUpd><PrntPrice></PrntPrice><EstPrice></EstPrice><Reminder1></Reminder1><Reminder2></Reminder2><Reminder3></Reminder3><OverDlvTol></OverDlvTol><UnlimitedDlv></UnlimitedDlv><UnderDlvTol></UnderDlvTol><ValType></ValType><NoMoreGr>X</NoMoreGr><FinalInv></FinalInv><ItemCat></ItemCat><Acctasscat>X</Acctasscat><Distrib></Distrib><PartInv></PartInv><GrInd></GrInd><GrNonVal></GrNonVal><IrInd></IrInd><FreeItem>X</FreeItem><GrBasediv></GrBasediv><AcknReqd></AcknReqd><AcknowlNo></AcknowlNo><Agreement></Agreement><AgmtItem></AgmtItem><Shipping></Shipping><Customer></Customer><CondGroup></CondGroup><NoDisct></NoDisct><PlanDel></PlanDel><NetWeight></NetWeight><Weightunit></Weightunit><WeightunitIso></WeightunitIso><Taxjurcode></Taxjurcode><CtrlKey></CtrlKey><ConfCtrl></ConfCtrl><RevLev></RevLev><Fund></Fund><FundsCtr></FundsCtr><CmmtItem></CmmtItem><Pricedate></Pricedate><PriceDate1></PriceDate1><GrossWt></GrossWt><Volume></Volume><Volumeunit></Volumeunit><VolumeunitIso></VolumeunitIso><Incoterms1></Incoterms1><Incoterms2></Incoterms2><PreVendor></PreVendor><VendPart></VendPart><HlItem></HlItem><GrToDate></GrToDate><SuppVendor></SuppVendor><ScVendor></ScVendor><KanbanInd></KanbanInd><Ers></Ers><RPromo></RPromo><Points></Points><PointUnit></PointUnit><PointUnitIso></PointUnitIso><Season></Season><SeasonYr></SeasonYr><BonGrp2></BonGrp2><BonGrp3></BonGrp3><SettItem></SettItem><Minremlife></Minremlife><RfqNo></RfqNo><RfqItem></RfqItem><PreqNo></PreqNo><PreqItem></PreqItem><RefDoc></RefDoc><RefItem></RefItem><SiCat></SiCat><RetItem></RetItem><AtRelev></AtRelev><OrderReason></OrderReason><BrasNbm></BrasNbm><MatlUsage></MatlUsage><MatOrigin></MatOrigin><InHouse></InHouse><Indus3></Indus3><InfIndex></InfIndex><UntilDate></UntilDate><DelivCompl></DelivCompl><PartDeliv></PartDeliv><ShipBlocked></ShipBlocked><PreqName>X</PreqName><PeriodIndExpirationDate></PeriodIndExpirationDate><IntObjNo></IntObjNo><PckgNo></PckgNo><Batch></Batch><Vendrbatch>X</Vendrbatch></SapPordcr101E2bpmepoitemx004><SapPordcr101E2bpmepoitemx004><PoItem>00020</PoItem><PoItemx></PoItemx><DeleteInd>X</DeleteInd><ShortText>X</ShortText><Material></Material><MaterialExternal></MaterialExternal><MaterialGuid></MaterialGuid><MaterialVersion></MaterialVersion><Ematerial></Ematerial><EmaterialExternal></EmaterialExternal><EmaterialGuid></EmaterialGuid><EmaterialVersion></EmaterialVersion><Plant>X</Plant><StgeLoc></StgeLoc><Trackingno></Trackingno><MatlGroup>X</MatlGroup><InfoRec></InfoRec><VendMat>X</VendMat><Quantity>X</Quantity><PoUnit>X</PoUnit><PoUnitIso></PoUnitIso><OrderprUn>X</OrderprUn><OrderprUnIso></OrderprUnIso><ConvNum1></ConvNum1><ConvDen1></ConvDen1><NetPrice>X</NetPrice><PriceUnit></PriceUnit><GrPrTime></GrPrTime><TaxCode></TaxCode><BonGrp1></BonGrp1><QualInsp></QualInsp><InfoUpd></InfoUpd><PrntPrice></PrntPrice><EstPrice></EstPrice><Reminder1></Reminder1><Reminder2></Reminder2><Reminder3></Reminder3><OverDlvTol></OverDlvTol><UnlimitedDlv></UnlimitedDlv><UnderDlvTol></UnderDlvTol><ValType></ValType><NoMoreGr>X</NoMoreGr><FinalInv></FinalInv><ItemCat></ItemCat><Acctasscat>X</Acctasscat><Distrib></Distrib><PartInv></PartInv><GrInd></GrInd><GrNonVal></GrNonVal><IrInd></IrInd><FreeItem>X</FreeItem><GrBasediv></GrBasediv><AcknReqd></AcknReqd><AcknowlNo></AcknowlNo><Agreement></Agreement><AgmtItem></AgmtItem><Shipping></Shipping><Customer></Customer><CondGroup></CondGroup><NoDisct></NoDisct><PlanDel></PlanDel><NetWeight></NetWeight><Weightunit></Weightunit><WeightunitIso></WeightunitIso><Taxjurcode></Taxjurcode><CtrlKey></CtrlKey><ConfCtrl></ConfCtrl><RevLev></RevLev><Fund></Fund><FundsCtr></FundsCtr><CmmtItem></CmmtItem><Pricedate></Pricedate><PriceDate1></PriceDate1><GrossWt></GrossWt><Volume></Volume><Volumeunit></Volumeunit><VolumeunitIso></VolumeunitIso><Incoterms1></Incoterms1><Incoterms2></Incoterms2><PreVendor></PreVendor><VendPart></VendPart><HlItem></HlItem><GrToDate></GrToDate><SuppVendor></SuppVendor><ScVendor></ScVendor><KanbanInd></KanbanInd><Ers></Ers><RPromo></RPromo><Points></Points><PointUnit></PointUnit><PointUnitIso></PointUnitIso><Season></Season><SeasonYr></SeasonYr><BonGrp2></BonGrp2><BonGrp3></BonGrp3><SettItem></SettItem><Minremlife></Minremlife><RfqNo></RfqNo><RfqItem></RfqItem><PreqNo></PreqNo><PreqItem></PreqItem><RefDoc></RefDoc><RefItem></RefItem><SiCat></SiCat><RetItem></RetItem><AtRelev></AtRelev><OrderReason></OrderReason><BrasNbm></BrasNbm><MatlUsage></MatlUsage><MatOrigin></MatOrigin><InHouse></InHouse><Indus3></Indus3><InfIndex></InfIndex><UntilDate></UntilDate><DelivCompl></DelivCompl><PartDeliv></PartDeliv><ShipBlocked></ShipBlocked><PreqName>X</PreqName><PeriodIndExpirationDate></PeriodIndExpirationDate><IntObjNo></IntObjNo><PckgNo></PckgNo><Batch></Batch><Vendrbatch>X</Vendrbatch></SapPordcr101E2bpmepoitemx004><SapPordcr101E2bpmepoaddrdelivery000><PoItem>00010</PoItem><AddrNo></AddrNo><Formofaddr></Formofaddr><Name>001 CORP</Name><Name2></Name2><Name3></Name3><Name4></Name4><COName></COName><City>Charlotte</City><District></District><CityNo></CityNo><PostlCod1>28211</PostlCod1><PostlCod2></PostlCod2><PostlCod3></PostlCod3><PoBox></PoBox><PoBoxCit></PoBoxCit><DelivDis></DelivDis><Street></Street><StreetNo></StreetNo><StrAbbr></StrAbbr><HouseNo></HouseNo><StrSuppl1></StrSuppl1><StrSuppl2></StrSuppl2><Location></Location><Building></Building><Floor></Floor><RoomNo></RoomNo><Country>US</Country><Langu></Langu><Region>NC</Region></SapPordcr101E2bpmepoaddrdelivery000><SapPordcr101E2bpmepoaddrdelivery000><PoItem>00020</PoItem><AddrNo></AddrNo><Formofaddr></Formofaddr><Name>001 CORP</Name><Name2></Name2><Name3></Name3><Name4></Name4><COName></COName><City>Charlotte</City><District></District><CityNo></CityNo><PostlCod1>28211</PostlCod1><PostlCod2></PostlCod2><PostlCod3></PostlCod3><PoBox></PoBox><PoBoxCit></PoBoxCit><DelivDis></DelivDis><Street></Street><StreetNo></StreetNo><StrAbbr></StrAbbr><HouseNo></HouseNo><StrSuppl1></StrSuppl1><StrSuppl2></StrSuppl2><Location></Location><Building></Building><Floor></Floor><RoomNo></RoomNo><Country>US</Country><Langu></Langu><Region>NC</Region></SapPordcr101E2bpmepoaddrdelivery000><SapPordcr101E2bpmeposchedule002><PoItem>00010</PoItem><SchedLine>0001</SchedLine><DelDatcatExt>D</DelDatcatExt><DeliveryDate>04/28/2015</DeliveryDate><Quantity>1.0</Quantity></SapPordcr101E2bpmeposchedule002><SapPordcr101E2bpmeposchedule002><PoItem>00020</PoItem><SchedLine>0001</SchedLine><DelDatcatExt>D</DelDatcatExt><DeliveryDate>04/28/2015</DeliveryDate><Quantity>1.0</Quantity></SapPordcr101E2bpmeposchedule002><SapPordcr101E2bpmeposchedulx002><PoItem>00010</PoItem><SchedLine>0001</SchedLine><PoItemx>X</PoItemx><SchedLinex>X</SchedLinex><DelDatcatExt>X</DelDatcatExt><DeliveryDate>X</DeliveryDate><Quantity>X</Quantity></SapPordcr101E2bpmeposchedulx002><SapPordcr101E2bpmeposchedulx002><PoItem>00020</PoItem><SchedLine>0001</SchedLine><PoItemx>X</PoItemx><SchedLinex>X</SchedLinex><DelDatcatExt>X</DelDatcatExt><DeliveryDate>X</DeliveryDate><Quantity>X</Quantity></SapPordcr101E2bpmeposchedulx002><SapPordcr101E2bpmepoaccount002><PoItem>00010</PoItem><SerialNo>1</SerialNo><DeleteInd></DeleteInd><CreatDate></CreatDate><Quantity></Quantity><DistrPerc></DistrPerc><NetValue></NetValue><GlAccount>0000640010</GlAccount><BusArea></BusArea><Costcenter>084-20601</Costcenter><SdDoc></SdDoc><ItmNumber></ItmNumber><SchedLine></SchedLine><AssetNo></AssetNo><SubNumber></SubNumber><Orderid></Orderid><GrRcpt></GrRcpt><UnloadPt></UnloadPt><CoArea>CCB</CoArea></SapPordcr101E2bpmepoaccount002><SapPordcr101E2bpmepoaccount002><PoItem>00020</PoItem><SerialNo>1</SerialNo><DeleteInd></DeleteInd><CreatDate></CreatDate><Quantity></Quantity><DistrPerc></DistrPerc><NetValue></NetValue><GlAccount>0000640010</GlAccount><BusArea></BusArea><Costcenter>084-20601</Costcenter><SdDoc></SdDoc><ItmNumber></ItmNumber><SchedLine></SchedLine><AssetNo></AssetNo><SubNumber></SubNumber><Orderid></Orderid><GrRcpt></GrRcpt><UnloadPt></UnloadPt><CoArea>CCB</CoArea></SapPordcr101E2bpmepoaccount002><SapPordcr101E2bpmepoaccountx003><PoItem>00010</PoItem><SerialNo>1</SerialNo><PoItemx>X</PoItemx><SerialNox>X</SerialNox><DeleteInd></DeleteInd><CreatDate></CreatDate><Quantity>X</Quantity><DistrPerc>X</DistrPerc><NetValue></NetValue><GlAccount>X</GlAccount><BusArea></BusArea><Costcenter>X</Costcenter><SdDoc></SdDoc><ItmNumber></ItmNumber><SchedLine></SchedLine><AssetNo></AssetNo><SubNumber></SubNumber><Orderid></Orderid><GrRcpt></GrRcpt><UnloadPt></UnloadPt><CoArea>X</CoArea></SapPordcr101E2bpmepoaccountx003><SapPordcr101E2bpmepoaccountx003><PoItem>00020</PoItem><SerialNo>1</SerialNo><PoItemx>X</PoItemx><SerialNox>X</SerialNox><DeleteInd></DeleteInd><CreatDate></CreatDate><Quantity>X</Quantity><DistrPerc>X</DistrPerc><NetValue></NetValue><GlAccount>X</GlAccount><BusArea></BusArea><Costcenter>X</Costcenter><SdDoc></SdDoc><ItmNumber></ItmNumber><SchedLine></SchedLine><AssetNo></AssetNo><SubNumber></SubNumber><Orderid></Orderid><GrRcpt></GrRcpt><UnloadPt></UnloadPt><CoArea>X</CoArea></SapPordcr101E2bpmepoaccountx003><SapPordcr101E2bpmepotext000><PoNumber>1000035279</PoNumber><PoItem>00010</PoItem><TextId>F01</TextId><TextForm></TextForm><TextLine>NEW Coke Contour PET BLACK Recycle Center (bottles and Cans)- made out of 100% post consumer waste material--this means that this tr</TextLine></SapPordcr101E2bpmepotext000><SapPordcr101E2bpmepotext000><PoNumber>1000035279</PoNumber><PoItem>00020</PoItem><TextId>F01</TextId><TextForm></TextForm><TextLine>Dasani PET BLACK Recycle Center (bottles and Cans)- made out of 100% post consumer waste material; Includes Dasani 2011 graphic wrap</TextLine></SapPordcr101E2bpmepotext000></SapPordcr101E2pordcr1001></SapPordcr101DataRecord></SapPordcr101IDocBO></NS1:SapPordcr101>';
var input = {
method : 'get',
returnedContentType : 'xml',
//path : '/miracle2/sb/CurrencyConvertor?client_id=63a0e0e1-5b7f-44a8-9c1c-2a448771a3c5'
//path :'zeeshan-alis-company/sb/Stock/V1/Ind/StockDetails?client_id=f277758d-085a-47a3-b596-cd44b6f5e54e',
path:'zeeshan-alis-company/sb/SAPDEMO/V1/Response',
body :{
content :request,
contentType:xml
}
};
return WL.Server.invokeHttp(input);
}
But here I'm unable to consume this. I'm getting an eroor like
{
"errors": [
"Ecma Error: ReferenceError: \"xml\" is not defined. (2015-08-05T14:52:28.369Z\/65435a8348417bc610fbff3a4b04a6bc04fbb76b\/IBMAPIM-impl.js#45)"
],
"info": [
],
"isSuccessful": false,
"warnings": [
]
}
The contentType definition seems wrong to me.
Try changing contentType:xml to contentType: 'text/xml; charset=utf-8'.
I am trying to setup a simple AMQP publisher/consumer using Symfony2.2 with RabbitMq bundle, I am following the documentation on the bundle page
The publisher works fine, I can see my messages on the web manager of rabbitMq.
When I try to run a consumer using the command
php app/console rabbitmq:consumer my.api
I get the following error:
Call to undefined method My\ApiBundle\Service\ConsumerService::setRoutingKey() in /***/vendor/oldsound/rabbitmq-bundle/OldSound/RabbitMqBundle/Command/BaseConsumerCommand.php on line 91
My setup:
confi.yml
old_sound_rabbit_mq:
connections:
my.api:
host: %amqp_host%
port: %amqp_port%
user: %amqp_user%
password: %amqp_password%
vhost: %amqp_vhost%
producers:
my.api:
connection: my.api
exchange_options: {name: 'my.api', type: fanout}
consumers:
my.api:
connection: my.api
exchange_options: {name: 'my.api', type: fanout}
queue_options: {name: 'my.api'}
callback: my.api
My\ApiBundle\Service\ConsumerService.php
namespace My\ApiBundle\Service;
use OldSound\RabbitMqBundle\RabbitMq\ConsumerInterface;
class ConsumerService implements ConsumerInterface
{
public function execute(\PhpAmqpLib\Message\AMQPMessage $msg)
{
return false;
}
}
My\ApiBundle\Resources\config\services.xml
<?xml version="1.0" encoding="UTF-8"?>
<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<services>
<service id="old_sound_rabbit_mq.my.api_consumer" class="My\ApiBundle\Service\ConsumerService"></service>
</services>
</container>
My question is: what is wrong with my config or my code?
There is no need to register your handler as a service - removing the My\ApiBundle\Resources\config\services.xml definition completely should solve the problem.
I was dealing with the same issue. The problem was that I forgot to include the RabbitMQ config file.
You can compare your solution with my working repository:
https://github.com/petrvacha/rebbitmq-basic
I'm not sure if the documentation is correct.. but I found a workaround by extending from OldSound\RabbitMqBundle\RabbitMq\BaseConsumer
So my code looks like:
namespace My\ApiBundle\Service;
use OldSound\RabbitMqBundle\RabbitMq\BaseConsumer;
class ConsumerService extends BaseConsumer
{
}