Powershell synchronization connector calling GET function instead of Create(Post)

I'm working on a Powershell Synchronization connector and when I run a test the 'GET' function is getting called when I'm trying to call my Create(Post) function. The endpoint is receiving a call from me but, again, it is the GET call and not the POST I'm expecting. I believe the issue is in my USER schema but I've been looking at this thing to too long and am probably overlooking something. I have setup the INSERT operation in the Single object operations section and it does fire my insert process. The job does run successfully in the job queue.

<Properties>
		<Property Name="id" DataType="String" >
			<ReturnBindings>
				<Bind CommandResultOf="Get-AllUsers" Path="id" />
				<Bind CommandResultOf="Create-NewUser" Path="federationIdentifier" />
			</ReturnBindings>	
			<CommandMappings>
				<Map ToCommand="Get-SingleUser" Parameter="id"/>
				<Map ToCommand="Update-ExistingUser" Parameter="username"/>
			</CommandMappings>
		</Property>
		<Property Name="federationIdentifier" DataType="String" IsUniqueKey="true" IsDisplay="true" IsMandatory="true">
			<ReturnBindings>
				<Bind CommandResultOf="Get-AllUsers" Path="federationIdentifier" />
				<Bind CommandResultOf="Create-NewUser" Path="federationIdentifier" />
			</ReturnBindings>  
			<CommandMappings>
				<Map ToCommand="Get-SingleUser" Parameter="ID"/>
				<Map ToCommand="Update-ExistingUser" Parameter="ID"/>
			</CommandMappings>
		</Property>
		<Property Name="username" DataType="String"  IsMandatory="true">
			<ReturnBindings>
				<Bind CommandResultOf="Get-SingleUser" Path="username"/>
				<Bind CommandResultOf="Create-NewUser" Path="username" />
			</ReturnBindings>
			<ModifiedBy>
				<ModBy Command="Update-ExistingUser" />
			</ModifiedBy>	
			<CommandMappings>
				<Map ToCommand="Create-NewUser" Parameter="username"/>
				<Map ToCommand="Update-ExistingUser" Parameter="username"/>
			</CommandMappings>
		</Property>
	
		<!--name-->
		<Property Name="name" DataType="String" >
			<ReturnBindings>
				<Bind CommandResultOf="Get-SingleUser" Path="name"/>
				<Bind CommandResultOf="Create-NewUser" Path="name" />
			</ReturnBindings>
			<ModifiedBy>
				<ModBy Command="Update-ExistingUser" />
			</ModifiedBy>	
			<CommandMappings>
				<Map ToCommand="Create-NewUser" Parameter="name"/>
				<Map ToCommand="Update-ExistingUser" Parameter="name"/>
			</CommandMappings>
		</Property>
		<!--Removed addtional properties so save on space but they were essentially set up the same as above-->
	</Properties>

<ReadConfiguration>
		<ListingCommand Command="Get-AllUsers">
				<SetParameter Param="BaseURL" Source="ConnectionParameter" Value="BaseURL" />
				<SetParameter Param="Username" Source="ConnectionParameter" Value="Username" />
				<SetParameter Param="Password" Source="ConnectionParameter" Value="Password" />
				<SetParameter Param="applicationName" Source="ConnectionParameter" Value="applicationName" />
				<SetParameter Param="applicationEnvironment" Source="ConnectionParameter" Value="applicationEnvironment" />
		</ListingCommand>
		<CommandSequence>
			<Item Command="Get-SingleUser" Order="1" >
				<SetParameter Param="BaseURL" Source="ConnectionParameter" Value="BaseURL" />
				<SetParameter Param="Username" Source="ConnectionParameter" Value="Username" />
				<SetParameter Param="Password" Source="ConnectionParameter" Value="Password" />
				<SetParameter Param="applicationName" Source="ConnectionParameter" Value="applicationName" />
				<SetParameter Param="applicationEnvironment" Source="ConnectionParameter" Value="applicationEnvironment" />
			</Item>
		</CommandSequence>
	</ReadConfiguration>
	<MethodConfiguration>
		<Method Name="Insert">
			<CommandSequence>
				<Item Command="Create-NewUser" Order="1" >
					<SetParameter Param="BaseURL" Source="ConnectionParameter" Value="BaseURL" />
					<SetParameter Param="Username" Source="ConnectionParameter" Value="Username" />
					<SetParameter Param="Password" Source="ConnectionParameter" Value="Password" />
					<SetParameter Param="applicationName" Source="ConnectionParameter" Value="applicationName" />
					<SetParameter Param="applicationEnvironment" Source="ConnectionParameter" Value="applicationEnvironment" />
				</Item>
			</CommandSequence>
		</Method>
		<Method Name="Update">
			<CommandSequence>
				<Item Command="Update-ExistingUser" Order="1" >
					<SetParameter Param="BaseURL" Source="ConnectionParameter" Value="BaseURL" />
					<SetParameter Param="Username" Source="ConnectionParameter" Value="Username" />
					<SetParameter Param="Password" Source="ConnectionParameter" Value="Password" />
					<SetParameter Param="applicationName" Source="ConnectionParameter" Value="applicationName" />
					<SetParameter Param="applicationEnvironment" Source="ConnectionParameter" Value="applicationEnvironment" />
				</Item>
			</CommandSequence>
		</Method>
	</MethodConfiguration>

Parents
  • I can look at this on Monday (done way too many complex PS Syncs)....one thing that does stand out is that you are trying to write-back the "federationIdentifier" to the "id" attribute on Create, but using "id" on Get-All....this can cause confusion

Reply
  • I can look at this on Monday (done way too many complex PS Syncs)....one thing that does stand out is that you are trying to write-back the "federationIdentifier" to the "id" attribute on Create, but using "id" on Get-All....this can cause confusion

Children
No Data