این هم خطا:
نتیجه درخواست:
AxiosError {message: 'Network Error', name: 'AxiosError', code: 'ERR_NETWORK', config: {…}, request: XMLHttpRequest, …}
با سلام و احترام خطایی در متد save وب سرویس Opportunity وجود ندارد. ارور مربوط به عدم ارتباط http://localhost:303 0' و 'https://pg.hormoznet.net/services/api/iopportunity.svc' میباشد که سمت خودتان باید بررسی گردد.
ببینید هر سه آدرس زیر همون صفحه ای که عرض کردم رو نشون میده:
http://localhost/services/api/iopportunity.svc
http://127.0.0.1/services/api/iopportunity.svc
http://172...../services/api/iopportunity.svc آی پی سرور
این https://pg.hormoznet.net/services/api/iopportunity.svc هم مثل بقیه. همه شون مثل هم هستن
@hormoznet
با توجه به اینکه نرم افزار شما با https بالا میاید لطفا چک کنید آدرس URLl ای که قرار میدهید حتما https باشد. http://localhost/services/api/iopportunity.svc
http://127.0.0.1/services/api/iopportunity.svc
http://172...../services/api/iopportunity.svc
این آدرس هایی که فرمودید هیچ کدام https نیستند.
ببینید:
شما عرض میکنید که در مرورگر آدرس وب سرویس رو بزنید. در مرورگر با متد GET ارسال میشه ولی در مستندات گفته شده با متد POST ارسال بشه.
مورد دوم هم اینکه من با https://pg.hormoznet.net/services/api/iopportunity.svc هم تست کردم که ssl داره ولی خطای 404 میده.
(مستنداتتون اصلا شفاف نیست که یک برنامه نویس از روی اون کارش رو انجام بده)
@hormoznet
مشکلی در api های opportunity وجود ندارد . باید سمت سرور شما بررسی شود. با تیم cs هماهنگی لازم را انجام میدم تا دسترسی از سرور پیام گستر شما داشته باشم برای بررسی.
curl --location 'http://localhost/services/api/iopportunity.svc' \
--header 'Content-Type: text/xml; charset=utf-8' \
--header 'SOAPAction: "http://tempuri.org/SaveOpportunity"' \
--data-raw '<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
</s:Header>
<s:Body>
<SaveOpportunity xmlns="http://tempuri.org/">
<username>username</username>
<password>password</password>
<opportunityInfo xmlns:d4p1="http://schemas.datacontract.org/2004/07/Septa.PayamGostar.ServiceLayer.Contract.PGContracts.DataContracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<d4p1:CrmObjectTypeCode>orgsale100</d4p1:CrmObjectTypeCode>
<d4p1:IdentityId>7c66626a-9a8e-4c73-94fd-95a658dda00f</d4p1:IdentityId>
<d4p1:Subject>امکان سنجی وایرلس هرمزنت</d4p1:Subject>
<d4p1:OpportunityType>فروش وایرلس</d4p1:OpportunityType>
<d4p1:OpportunitySourceType>امکان سنجی آنلاین</d4p1:OpportunitySourceType>
<d4p1:SaleStage>فرصت فروش</d4p1:SaleStage>
<d4p1:Description>name: رضا | familyName: راد | fatherName: هاشم | nationalId: 2500161234 | Certificate: 2500161234 | Sex: male | birthDate: 1404/03/14 | mobile: 09179999315 | landlineNumber: 07632240250 | Email: radmail90@gmail.com | postalCode: 7933655555 | address: بندرعباس، بلوار ساحلی | city: بندرعباس | province: hormozgan | latitude: 27.178149 | longitude: 56.266823</d4p1:Description>
</opportunityInfo>
</SaveOpportunity>
</s:Body>
</s:Envelope>'
برای ساخت فرصت از http://localhost/ و http://127.0.0.1 (سرور خود پیام گستر) هم ارسال کردیم و
میگه چنین endpoint ای با متد POST وجود نداره (خطای 404)
با سلام و احترام
لطفا http://localhost/services/api/iopportunity.svc را در مرورگر روی سرور پیام گستر وارد نمایید و چک نمایید سرویس کال میشود یا خیر.
(در صورتیکه کال نشد به جای localhost آی پی نرم افزار پیام گستر را وارد و مجدد تست نمایید)
مورد بعد اینکه در headers در postman به جای "'SOAPAction: "http://tempuri.org/SaveOpportunity" مقدار "http://tempuri.org/IOpportunity/SaveOpportunity" را وارد نمایید.
سمپل بدون خطای create opportunity در postman خدمتتان ارسال میگردد.
post:
http(s)://[crm address]/Services/API/iopportunity.svc
Header:
SOAPAction
http://tempuri.org/IOpportunity/SaveOpportunity
Content-Type
text/xml;charset=utf-8
Body (xml):
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
</s:Header>
<s:Body>
<SaveOpportunity xmlns="http://tempuri.org/">
<username>admin</username>
<password>???????</password>
<opportunityInfo xmlns:d4p1="http://schemas.datacontract.org/2004/07/Septa.PayamGostar.ServiceLayer.Contract.PGContracts.DataContracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<d4p1:CrmObjectTypeCode>forsat_test</d4p1:CrmObjectTypeCode>
<d4p1:IdentityId>????????</d4p1:IdentityId>
<d4p1:Subject>test</d4p1:Subject>
<d4p1:OpportunitySourceType>وب سایت</d4p1:OpportunitySourceType>
<d4p1:OpportunityType>استاندارد</d4p1:OpportunityType>
<d4p1:SaleStage>مذاکره</d4p1:SaleStage>
</opportunityInfo>
</SaveOpportunity>
</s:Body>
</s:Envelope>
در مرورگر آدرس http://localhost/services/api/iopportunity.svc وارد کردم (صفحه ای اومد که کدها در کادر سبز هستند). محتویات این صفحه:
Opportunity Service
You have created a service.
To test this service, you will need to create a client and use it to call the service. You can do this using the svcutil.exe tool from the command line with the following syntax:
svcutil.exe http://localhost/Services/API/IOpportunity.svc?wsdl
You can also access the service description as a single file:
http://localhost/Services/API/IOpportunity.svc?singleWsdl
This will generate a configuration file and a code file that contains the client class. Add the two files to your client application and use the generated client class to call the Service. For example:
C#
class Test
{
static void Main()
{
OpportunityClient client = new OpportunityClient();
// Use the 'client' variable to call operations on the service.
// Always close the client.
client.Close();
}
}
Visual Basic
Class Test
Shared Sub Main()
Dim client As OpportunityClient = New OpportunityClient()
' Use the 'client' variable to call operations on the service.
' Always close the client.
client.Close()
End Sub
End Class
بعدش با همان هدرهایی که فرمودید و با body زیر (xml) درخواست به http://localhost/services/api/iopportunity.svc ارسال کردم با متد POST که خطای 404 داد.
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
</s:Header>
<s:Body>
<SaveOpportunity xmlns="http://tempuri.org/">
<username>username</username>
<password>password</password>
<opportunityInfo xmlns:d4p1="http://schemas.datacontract.org/2004/07/Septa.PayamGostar.ServiceLayer.Contract.PGContracts.DataContracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<d4p1:CrmObjectTypeCode>orgsale100</d4p1:CrmObjectTypeCode>
<d4p1:IdentityId>7c66626a-9a8e-4c73-94fd-95a658dda00f</d4p1:IdentityId>
<d4p1:Subject>امکان سنجی وایرلس هرمزنت</d4p1:Subject>
<d4p1:OpportunityType>فروش وایرلس</d4p1:OpportunityType>
<d4p1:OpportunitySourceType>امکان سنجی آنلاین</d4p1:OpportunitySourceType>
<d4p1:SaleStage>فرصت فروش</d4p1:SaleStage>
<d4p1:Description>name: تست| familyName: تست | fatherName: محمد | nationalId: 1234567890 | Certificate: 1234567890 | Sex: male | birthDate: 1404/03/14 | mobile: 09123456789| landlineNumber: 02132456520 | Email: testpg@gmail.com | postalCode: 1234567890 | address: تهران خیابان ملت | city: بندرعباس | province: tehran | latitude: ۳۵.۷۳۷۹۸۶ | longitude: ۵۱.۲۸۶۶۳۴</d4p1:Description>
</opportunityInfo>
</SaveOpportunity>
</s:Body>
@hormoznet
ساختار XML کد شما ظاهرا مشکلی ندارد. چیزی که به نظر می آید ممکن است که UR L ای که به آن درخواست SOAP را POST میکنید، اوکی نباشد.
لطفا در آدرس http://localhost/services/api/iopportunity.svc به جای localhost آی پی نرم افزار را وارد و مجدد چک نمایید.